| Summary: | "Open With" behaves differently than default association | ||
|---|---|---|---|
| Product: | [Applications] systemsettings | Reporter: | Christoph Burger-Scheidlin <mail> |
| Component: | kcm_filetypes | Assignee: | Marie Loise Nolden <nolden> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Gentoo Packages | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Christoph Burger-Scheidlin
2005-06-21 17:04:47 UTC
Filed twice I get exactly one bug on my query for the summary (all bug categories). I did submit twice, but only because I got an "Internal Server Error" on my first attempt and assumed (correctly as it appears) that the bug was not entered the first time. It appears, that all of my file associations with kate get overridden. Do I need to write "kate %U" in the box where it asks me for the application to run? So far I just put "kate" see also bug #81133 SVN commit 427780 by dfaure:
Keep the full Exec line from the existing service, when checking "remember application association for this type of file".
BUG:107860
BUG:107335
M +6 -3 kopenwith.cpp
--- branches/KDE/3.4/kdelibs/kio/kfile/kopenwith.cpp #427779:427780
@@ -624,7 +624,8 @@
void KOpenWithDlg::slotOK()
{
- QString fullExec(edit->url());
+ QString typedExec(edit->url());
+ QString fullExec(typedExec);
QString serviceName;
QString initialServiceName;
@@ -634,7 +635,7 @@
// No service selected - check the command line
// Find out the name of the service from the command line, removing args and paths
- serviceName = KRun::binaryName( fullExec, true );
+ serviceName = KRun::binaryName( typedExec, true );
if (serviceName.isEmpty())
{
// TODO add a KMessageBox::error here after the end of the message freeze
@@ -653,6 +654,7 @@
if ( serv && serv->type() == "Application")
{
QString exec = serv->exec();
+ fullExec = exec;
exec.replace("%u", "", false);
exec.replace("%f", "", false);
exec.replace("-caption %c", "");
@@ -660,7 +662,7 @@
exec.replace("%i", "");
exec.replace("%m", "");
exec = exec.simplifyWhiteSpace();
- if (exec == fullExec)
+ if (exec == typedExec)
{
ok = true;
m_pService = serv;
@@ -680,6 +682,7 @@
// Existing service selected
serviceName = m_pService->name();
initialServiceName = serviceName;
+ fullExec = m_pService->exec();
}
if (terminal->isChecked())
|