View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0008252 | Scribus | OS-MacOSX | public | 2009-07-06 11:20 | 2011-07-07 20:30 |
Reporter | ale | Assigned To | jghali | ||
Priority | high | Severity | tweak | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 1.3.5svn | ||||
Fixed in Version | 1.4.0svn | ||||
Summary | 0008252: cannot open a file through double click in OSX Finder | ||||
Description | if i double click a .sla file in the finder: - if scribus is closed i get to the "new document" dialog - if scribus is already open scribus get's focus but won't open the file - if i drag a file into the scratch space (no document already open), the file is (correctly) opened | ||||
Tags | No tags attached. | ||||
Patch | |||||
has duplicate | 0007957 | closed | jghali | Opening SLA-file by clicking the file-icon at dektop or in finder |
has duplicate | 0008354 | closed | jghali | Impossible to open an xml file from OS X directly in Scribus |
has duplicate | 0008387 | closed | jghali | Double click doesn't open scribus files |
has duplicate | 0009354 | closed | jghali | Scribus does not open files from Finder |
has duplicate | 0009612 | closed | jghali | to open a folder .sla |
has duplicate | 0009840 | closed | jghali | can not open file with double klick (1.4.0rc1) |
has duplicate | 0009900 | closed | jghali | Starting Scribus by double-clicking .sla file does not open .sla file |
|
When opened from finder, OS X Does not pass the filename on the command line like other operqting systems. Instead it calls a delegate function openFile() on NSApplication. Since Scribus is written with QT, this can be done by responding to QFileOpenEvent as outlined at http://doc.trolltech.com/qq/qq18-macfeatures.html#newevents If I can work out how to build Scribus on my mac, I may have a go at fixing this. |
|
osx_args.patch (951 bytes)
Index: scribus/scribusapp.h =================================================================== --- scribus/scribusapp.h (revision 16659) +++ scribus/scribusapp.h (working copy) @@ -84,6 +84,7 @@ \brief Instantiates the Language Manager and prints installed languages with brief instructions around */ void showAvailLangs(); + bool event(QEvent *event); QString lang; QString GUILang; Index: scribus/scribusapp.cpp =================================================================== --- scribus/scribusapp.cpp (revision 16659) +++ scribus/scribusapp.cpp (working copy) @@ -530,3 +530,14 @@ { return QFileInfo(ScPaths::getApplicationDataDir() + ".neversplash").exists(); } + +bool ScribusQApp::event(QEvent *event) +{ + switch (event->type()) { + case QEvent::FileOpen: + filesToLoad.append(static_cast<QFileOpenEvent*>(event)->file()); + return true; + default: + return QApplication::event(event); + } +} |
|
Patch (made with svn diff against latest svn: 16659) attached. Tested on Mac OS X, 10.6.7. |
|
Thanks. However that only cover the case where Scribus is not opened when trying to open document. I doubt that patch will work when trying to double click a document with Scribus already opened. |
|
osx_finder.patch (1,198 bytes)
Index: scribus/scribusapp.h =================================================================== --- scribus/scribusapp.h (revision 16659) +++ scribus/scribusapp.h (working copy) @@ -84,6 +84,7 @@ \brief Instantiates the Language Manager and prints installed languages with brief instructions around */ void showAvailLangs(); + bool event(QEvent *event); QString lang; QString GUILang; Index: scribus/scribusapp.cpp =================================================================== --- scribus/scribusapp.cpp (revision 16659) +++ scribus/scribusapp.cpp (working copy) @@ -530,3 +530,26 @@ { return QFileInfo(ScPaths::getApplicationDataDir() + ".neversplash").exists(); } + +bool ScribusQApp::event(QEvent *event) +{ + switch (event->type()) + { + case QEvent::FileOpen: + { + QString filename = static_cast<QFileOpenEvent*>(event)->file(); + if(m_ScCore && m_ScCore->initialized()) + { + ScribusMainWindow* mw = m_ScCore->primaryMainWindow(); + mw->loadDoc(filename); + } + else + { + filesToLoad.append(filename); + } + return true; + } + default: + return QApplication::event(event); + } +} |
|
osx_finder.patch now also works when Scribus is already running. |
|
Patch committed! Thanks! |
Date Modified | Username | Field | Change |
---|---|---|---|
2009-07-06 11:20 | ale | New Issue | |
2009-07-06 20:26 | cbradney | Severity | major => tweak |
2009-08-14 13:48 | jghali | Relationship added | has duplicate 0007957 |
2009-08-18 20:11 | jghali | Relationship added | has duplicate 0008354 |
2009-08-25 20:31 | jghali | Relationship added | has duplicate 0008387 |
2010-09-11 13:02 | jghali | Relationship added | has duplicate 0009354 |
2010-12-23 23:53 | jghali | Relationship added | has duplicate 0009612 |
2011-03-13 22:51 | jghali | Relationship added | has duplicate 0009840 |
2011-04-01 20:48 | jghali | Relationship added | has duplicate 0009900 |
2011-06-12 18:41 | greenius | Note Added: 0026373 | |
2011-06-12 21:54 | greenius | File Added: osx_args.patch | |
2011-06-12 21:55 | greenius | Note Added: 0026375 | |
2011-06-13 07:11 | greenius | Note Edited: 0026373 | |
2011-06-13 10:26 | jghali | Note Added: 0026378 | |
2011-06-13 10:27 | jghali | Note Edited: 0026378 | |
2011-06-15 21:33 | greenius | File Added: osx_finder.patch | |
2011-06-15 21:34 | greenius | Note Added: 0026407 | |
2011-06-15 22:19 | jghali | Summary | can't open a file through double click => cannot open a file through double click in OSX Finder |
2011-06-15 22:19 | jghali | Note Added: 0026409 | |
2011-06-15 22:19 | jghali | Status | new => resolved |
2011-06-15 22:19 | jghali | Fixed in Version | => 1.4.0svn |
2011-06-15 22:19 | jghali | Resolution | open => fixed |
2011-06-15 22:19 | jghali | Assigned To | => jghali |
2011-07-07 20:30 | cbradney | Status | resolved => closed |
2014-10-08 18:37 | Kunda | Category | Mac OS => OS-MacOSX |