]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
I hope this compiles better
[dolphin.git] / src / dolphinmainwindow.cpp
index e8071ac443ffddb621e82fc0cc653e09a7f6f0fa..a25c61038194f1bc6fba2660bc5da3ecdaba4340 100644 (file)
@@ -36,6 +36,7 @@
 #include "generalsettings.h"\r
 #include "viewpropertiesdialog.h"\r
 #include "viewproperties.h"\r
+#include "mainwindowadaptor.h"\r
 \r
 #include <kaction.h>\r
 #include <kactioncollection.h>\r
 #include <QSplitter>\r
 #include <QDockWidget>\r
 \r
-DolphinMainWindow::DolphinMainWindow() :\r
+DolphinMainWindow::DolphinMainWindow(int id) :\r
     KMainWindow(0),\r
     m_newMenu(0),\r
     m_splitter(0),\r
-    m_activeView(0)\r
+    m_activeView(0),\r
+    m_id(id)\r
 {\r
     setObjectName("Dolphin");\r
     m_view[PrimaryIdx] = 0;\r
     m_view[SecondaryIdx] = 0;\r
 \r
+    new MainWindowAdaptor(this);\r
+    QDBusConnection::sessionBus().registerObject(QString("/dolphin/MainWindow%1").arg(m_id), this);\r
+\r
     KonqUndoManager::incRef();\r
 \r
     KonqUndoManager* undoManager = KonqUndoManager::self();\r
@@ -161,7 +166,7 @@ void DolphinMainWindow::dropUrls(const KUrl::List& urls,
                                               i18n("&Link Here") + "\t" + seq);\r
 \r
         popup.addSeparator();\r
-        QAction* cancelAction = popup.addAction(KIcon("stop"), i18n("Cancel"));\r
+        popup.addAction(KIcon("stop"), i18n("Cancel"));\r
 \r
         QAction* activatedAction = popup.exec(QCursor::pos());\r
         if (activatedAction == moveAction) {\r
@@ -173,7 +178,7 @@ void DolphinMainWindow::dropUrls(const KUrl::List& urls,
         else if (activatedAction == linkAction) {\r
             action = Qt::LinkAction;\r
         }\r
-        else if (activatedAction == cancelAction) {\r
+        else {\r
             return;\r
         }\r
     }\r
@@ -231,6 +236,13 @@ void DolphinMainWindow::refreshViews()
     emit activeViewChanged();\r
 }\r
 \r
+void DolphinMainWindow::changeUrl(const QString& url)\r
+{\r
+    if (activeView() != 0) {\r
+        activeView()->setUrl(KUrl(url));\r
+    }\r
+}\r
+\r
 void DolphinMainWindow::slotViewModeChanged()\r
 {\r
     updateViewActions();\r
@@ -767,8 +779,6 @@ void DolphinMainWindow::toggleEditLocation()
 \r
 void DolphinMainWindow::editLocation()\r
 {\r
-    KToggleAction* action = static_cast<KToggleAction*>(actionCollection()->action("editable_location"));\r
-    action->setChecked(true);\r
     m_activeView->setUrlEditable(true);\r
 }\r
 \r
@@ -885,6 +895,9 @@ void DolphinMainWindow::init()
     // a proper default window size is given at the end of DolphinMainWindow::init().\r
     GeneralSettings* generalSettings = DolphinSettings::instance().generalSettings();\r
     const bool firstRun = generalSettings->firstRun();\r
+    if (firstRun) {\r
+        generalSettings->setViewPropsTimestamp(QDateTime::currentDateTime());\r
+    }\r
 \r
     setAcceptDrops(true);\r
 \r
@@ -998,8 +1011,8 @@ void DolphinMainWindow::setupActions()
     connect(deleteAction, SIGNAL(triggered()), this, SLOT(deleteItems()));\r
 \r
     QAction* properties = actionCollection()->addAction("properties");\r
-    properties->setText(i18n("Propert&ies"));\r
-    properties->setShortcut(Qt::Key_Alt | Qt::Key_Return);\r
+    properties->setText(i18n("Properties"));\r
+    properties->setShortcut(Qt::ALT | Qt::Key_Return);\r
     connect(properties, SIGNAL(triggered()), this, SLOT(properties()));\r
 \r
     KStandardAction::quit(this, SLOT(quit()), actionCollection());\r
@@ -1090,7 +1103,7 @@ void DolphinMainWindow::setupActions()
 \r
     KToggleAction* showHiddenFiles = actionCollection()->add<KToggleAction>("show_hidden_files");\r
     showHiddenFiles->setText(i18n("Show Hidden Files"));\r
-    //showHiddenFiles->setShortcut(Qt::ALT | Qt::Key_      KDE4-TODO: what Qt-Key represents '.'?\r
+    showHiddenFiles->setShortcut(Qt::ALT | Qt::Key_Period);\r
     connect(showHiddenFiles, SIGNAL(triggered()), this, SLOT(toggleShowHiddenFiles()));\r
 \r
     KToggleAction* split = actionCollection()->add<KToggleAction>("split_view");\r
@@ -1110,12 +1123,15 @@ void DolphinMainWindow::setupActions()
     stop->setIcon(KIcon("stop"));\r
     connect(stop, SIGNAL(triggered()), this, SLOT(stopLoading()));\r
 \r
+    // TODO: the URL navigator must emit a signal if the editable state has been\r
+    // changed, so that the corresponding showFullLocation action is updated. Also\r
+    // the naming "Show full Location" is currently confusing...\r
     KToggleAction* showFullLocation = actionCollection()->add<KToggleAction>("editable_location");\r
     showFullLocation->setText(i18n("Show Full Location"));\r
     showFullLocation->setShortcut(Qt::CTRL | Qt::Key_L);\r
     connect(showFullLocation, SIGNAL(triggered()), this, SLOT(toggleEditLocation()));\r
 \r
-    KToggleAction* editLocation = actionCollection()->add<KToggleAction>("edit_location");\r
+    QAction* editLocation = actionCollection()->addAction("edit_location");\r
     editLocation->setText(i18n("Edit Location"));\r
     editLocation->setShortcut(Qt::Key_F6);\r
     connect(editLocation, SIGNAL(triggered()), this, SLOT(editLocation()));\r
@@ -1273,6 +1289,10 @@ void DolphinMainWindow::updateViewActions()
 \r
     KToggleAction* splitAction = static_cast<KToggleAction*>(actionCollection()->action("split_view"));\r
     splitAction->setChecked(m_view[SecondaryIdx] != 0);\r
+\r
+    KToggleAction* editableLocactionAction =\r
+        static_cast<KToggleAction*>(actionCollection()->action("editable_location"));\r
+    editableLocactionAction->setChecked(m_activeView->isUrlEditable());\r
 }\r
 \r
 void DolphinMainWindow::updateGoActions()\r