]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Fixed issue that the "Show Full Location" action is not synchronized with the editabl...
authorPeter Penz <peter.penz19@gmail.com>
Thu, 7 Feb 2008 07:27:06 +0000 (07:27 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Thu, 7 Feb 2008 07:27:06 +0000 (07:27 +0000)
BUG: 156891

svn path=/trunk/KDE/kdebase/apps/; revision=771918

src/dolphinmainwindow.cpp
src/dolphinmainwindow.h

index 4c32e623ebbdeee080cb92762681c9c85d9d2cf4..afabdf9838d57a95828914219fa2a3c91bb1f612 100644 (file)
@@ -259,6 +259,13 @@ void DolphinMainWindow::slotAdditionalInfoChanged()
     view->updateAdditionalInfoActions(actionCollection());
 }
 
+void DolphinMainWindow::slotEditableStateChanged(bool editable)
+{
+    KToggleAction* editableLocationAction =
+        static_cast<KToggleAction*>(actionCollection()->action("editable_location"));
+    editableLocationAction->setChecked(editable);
+}
+
 void DolphinMainWindow::slotSelectionChanged(const KFileItemList& selection)
 {
     updateEditActions();
@@ -1058,9 +1065,7 @@ void DolphinMainWindow::setupActions()
     stop->setIcon(KIcon("process-stop"));
     connect(stop, SIGNAL(triggered()), this, SLOT(stopLoading()));
 
-    // TODO: the URL navigator must emit a signal if the editable state has been
-    // changed, so that the corresponding showFullLocation action is updated. Also
-    // the naming "Show full Location" is currently confusing...
+    // TODO: the naming "Show full Location" is currently confusing...
     KToggleAction* showFullLocation = actionCollection()->add<KToggleAction>("editable_location");
     showFullLocation->setText(i18nc("@action:inmenu Navigation Bar", "Show Full Location"));
     showFullLocation->setShortcut(Qt::CTRL | Qt::Key_L);
@@ -1328,6 +1333,8 @@ void DolphinMainWindow::connectViewSignals(int viewIndex)
             this, SLOT(changeUrl(const KUrl&)));
     connect(navigator, SIGNAL(historyChanged()),
             this, SLOT(slotHistoryChanged()));
+    connect(navigator, SIGNAL(editableStateChanged(bool)),
+            this, SLOT(slotEditableStateChanged(bool)));
 }
 
 void DolphinMainWindow::updateSplitAction()
index 37cdcb43e8c7c5f6c0eeccd6317dd92a5ceeba8b..edc5c1bd657a358b0cb4149d9654fdc502a19a1c 100644 (file)
@@ -312,7 +312,7 @@ private slots:
     void zoomOut();
 
     /**
-     * Toggles between edit and brose mode of the navigation bar.
+     * Toggles between edit and browse mode of the navigation bar.
      */
     void toggleEditLocation();
 
@@ -376,6 +376,9 @@ private slots:
     /** Updates the state of the 'Additional Information' actions. */
     void slotAdditionalInfoChanged();
 
+    /** Updates the state of the 'Show Full Location' action. */
+    void slotEditableStateChanged(bool editable);
+
     /**
      * Updates the state of the 'Edit' menu actions and emits
      * the signal selectionChanged().