X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/214ee5de3fab8db92db116496b73200e466b41de..abf17941f7:/src/dolphinmainwindow.h diff --git a/src/dolphinmainwindow.h b/src/dolphinmainwindow.h index 2f1474224..7a71b685c 100644 --- a/src/dolphinmainwindow.h +++ b/src/dolphinmainwindow.h @@ -27,6 +27,7 @@ #include #include #include +#include #include @@ -46,13 +47,14 @@ class DolphinApplication; * @short Main window for Dolphin. * * Handles the menus, toolbars and Dolphin views. - * - * @author Peter Penz -*/ + */ class DolphinMainWindow: public KMainWindow { Q_OBJECT + Q_CLASSINFO("D-Bus Interface", "org.kde.dolphin.MainWindow") + Q_PROPERTY(int id READ getId SCRIPTABLE true) friend class DolphinApplication; + public: virtual ~DolphinMainWindow(); @@ -96,6 +98,20 @@ public: */ KNewMenu* newMenu() const { return m_newMenu; } +public slots: + /** + * Returns the main windows ID, mainly used throught DBus. + */ + int getId() const { return m_id; } + + /** + * Changes the URL of the current active DolphinView to \a url. + */ + void changeUrl(const QString& url); + + /** Stores all settings and quits Dolphin. */ + void quit(); + signals: /** * Is send if the active view has been changed in @@ -146,9 +162,6 @@ private slots: */ void properties(); - /** Stores all settings and quits Dolphin. */ - void quit(); - /** * Shows the error information of the job \a job * in the status bar. @@ -170,6 +183,9 @@ private slots: /** Sets the text of the 'Undo' menu action to \a text. */ void slotUndoTextChanged(const QString& text); + /** Performs the current undo operation. */ + void undo(); + /** * Copies all selected items to the clipboard and marks * the items as cutted. @@ -213,6 +229,15 @@ private slots: /** The sorting of the current view should be done by the date. */ void sortByDate(); + /** The sorting of the current view should be done by the permissions. */ + void sortByPermissions(); + + /** The sorting of the current view should be done by the owner. */ + void sortByOwner(); + + /** The sorting of the current view should be done by the group. */ + void sortByGroup(); + /** Switches between an ascending and descending sorting order. */ void toggleSortOrder(); @@ -324,26 +349,8 @@ private slots: /** Open a new main window. */ void openNewMainWindow(); - /** - * Moves the items indicated by m_droppedUrls to the URL - * m_destination. - */ - void moveDroppedItems(); - - /** - * Copies the items indicated by m_droppedUrls to the URL - * m_destination. - */ - void copyDroppedItems(); - - /** - * Links the items indicated by m_droppedUrls to the URL - * m_destination. - */ - void linkDroppedItems(); - private: - DolphinMainWindow(); + DolphinMainWindow(int id); void init(); void loadSettings(); @@ -356,6 +363,7 @@ private: void updateGoActions(); void copyUrls(const KUrl::List& source, const KUrl& dest); void moveUrls(const KUrl::List& source, const KUrl& dest); + void linkUrls(const KUrl::List& source, const KUrl& dest); void clearStatusBar(); /** @@ -367,13 +375,6 @@ private: void connectViewSignals(int viewIndex); private: - KNewMenu* m_newMenu; - QSplitter* m_splitter; - DolphinView* m_activeView; - - KUrl m_dropDestination; - KUrl::List m_droppedUrls; - /** * DolphinMainWindowsupports only one or two views, which * are handled internally as primary and secondary view. @@ -383,20 +384,32 @@ private: PrimaryIdx = 0, SecondaryIdx = 1 }; + + /** + * Implements a custom error handling for the undo manager. This + * assures that all errors are shown in the status bar of Dolphin + * instead as modal error dialog with an OK button. + */ + class UndoUiInterface : public KonqUndoManager::UiInterface + { + public: + UndoUiInterface(DolphinMainWindow* mainWin); + virtual ~UndoUiInterface(); + virtual void jobError(KIO::Job* job); + + private: + DolphinMainWindow* m_mainWin; + }; + + KNewMenu* m_newMenu; + QSplitter* m_splitter; + DolphinView* m_activeView; + int m_id; + DolphinView* m_view[SecondaryIdx + 1]; /// remember pending undo operations until they are finished QList m_undoOperations; - - /** Contains meta information for creating files. */ - struct CreateFileEntry - { - QString name; - QString filePath; - QString templatePath; - QString icon; - QString comment; - }; }; #endif // _DOLPHIN_H_