Solving issue 1851: "RT crashes in Single Editor Tab Mode when trying to save with Ctrl-S"

This commit is contained in:
natureh 510
2013-04-28 23:11:55 +02:00
parent 91c389e364
commit 0a5c72f0da
4 changed files with 14 additions and 12 deletions

View File

@@ -945,13 +945,13 @@ bool EditorPanel::handleShortcutKey (GdkEventKey* event) {
openThm->openDefaultViewer(event->state & GDK_SHIFT_MASK ? 2 : 1);
return true;
case GDK_y: // synchronize filebrowser with image in Editor
if (!simpleEditor && fPanel && fname!=""){
if (!simpleEditor && fPanel && !fname.empty()){
fPanel->fileCatalog->selectImage(fname, false);
return true;
}
break; // to avoid gcc complain
case GDK_x: // clear filters and synchronize filebrowser with image in Editor
if (!simpleEditor && fPanel && fname!=""){
if (!simpleEditor && fPanel && !fname.empty()){
fPanel->fileCatalog->selectImage(fname, true);
return true;
}
@@ -1000,13 +1000,13 @@ bool EditorPanel::handleShortcutKey (GdkEventKey* event) {
if (shift){
switch (event->keyval) {
case GDK_F3: // open Previous image from Editor's perspective
if (!simpleEditor && fPanel && fname!=""){
if (!simpleEditor && fPanel && !fname.empty()){
EditorPanel::openPreviousEditorImage();
return true;
}
break; // to avoid gcc complain
case GDK_F4: // open next image from Editor's perspective
if (!simpleEditor && fPanel && fname!=""){
if (!simpleEditor && fPanel && !fname.empty()){
EditorPanel::openNextEditorImage();
return true;
}
@@ -1234,17 +1234,17 @@ void EditorPanel::sendToGimpPressed () {
void EditorPanel::openPreviousEditorImage() {
if (!simpleEditor && fPanel && fname!="")
if (!simpleEditor && fPanel && !fname.empty())
fPanel->fileCatalog->openNextPreviousEditorImage(fname, true, NAV_PREVIOUS);
}
void EditorPanel::openNextEditorImage() {
if (!simpleEditor && fPanel && fname!="")
if (!simpleEditor && fPanel && !fname.empty())
fPanel->fileCatalog->openNextPreviousEditorImage(fname, true, NAV_NEXT);
}
void EditorPanel::syncFileBrowser() { // synchronize filebrowser with image in Editor
if (!simpleEditor && fPanel && fname!="")
if (!simpleEditor && fPanel && !fname.empty())
fPanel->fileCatalog->selectImage(fname, true);
}

View File

@@ -156,7 +156,7 @@ bool SaveAsDialog::getAutoSuffix () {
bool SaveAsDialog::getImmediately () {
return saveMethod[0]->get_active ();
return simpleEditor ? true : saveMethod[0]->get_active ();
}
bool SaveAsDialog::getToHeadOfQueue () {
@@ -170,6 +170,8 @@ bool SaveAsDialog::getToTailOfQueue () {
}
int SaveAsDialog::getSaveMethodNum () {
if (simpleEditor)
return 0;
for (int i = 0; i < 3; i++)
if (saveMethod[i]->get_active())
return i;
@@ -263,7 +265,7 @@ void SaveAsDialog::setImagePath (Glib::ustring ipath) {
if (!safe_is_root_dir(path))
#endif
try {
fchooser->add_shortcut_folder(Glib::path_get_dirname(path));
fchooser->add_shortcut_folder(path);
}
catch (Gtk::FileChooserError &err) {}
}