#include <assert.h>\r
\r
#include "dolphinapplication.h"\r
+#include "dolphinnewmenu.h"\r
#include "dolphinsettings.h"\r
#include "dolphinsettingsdialog.h"\r
#include "dolphinstatusbar.h"\r
#include <kicon.h>\r
#include <kiconloader.h>\r
#include <kio/netaccess.h>\r
+#include <kio/deletejob.h>\r
#include <kio/renamedialog.h>\r
#include <kinputdialog.h>\r
#include <klocale.h>\r
#include <kmenu.h>\r
#include <kmessagebox.h>\r
-#include <knewmenu.h>\r
#include <konqmimedata.h>\r
#include <kpropertiesdialog.h>\r
#include <kprotocolinfo.h>\r
i18n("&Link Here") + "\t" + seq);\r
\r
popup.addSeparator();\r
- popup.addAction(KIcon("stop"), i18n("Cancel"));\r
+ QAction* cancelAction = popup.addAction(KIcon("stop"), i18n("Cancel"));\r
\r
QAction* activatedAction = popup.exec(QCursor::pos());\r
if (activatedAction == moveAction) {\r
else if (activatedAction == linkAction) {\r
action = Qt::LinkAction;\r
}\r
+ else if (activatedAction == cancelAction) {\r
+ return;\r
+ }\r
}\r
\r
switch (action) {\r
case DolphinView::SortByDate:\r
action = actionCollection()->action("by_date");\r
break;\r
+ case DolphinView::SortByPermissions:\r
+ action = actionCollection()->action("by_permissions");\r
+ break;\r
+ case DolphinView::SortByOwner:\r
+ action = actionCollection()->action("by_owner");\r
+ break;\r
+ case DolphinView::SortByGroup:\r
+ action = actionCollection()->action("by_group");\r
+ break;\r
default:\r
break;\r
}\r
\r
// TODO: I assume there will be a generic way in KDE 4 to store the docks\r
// of the main window. In the meantime they are stored manually:\r
- QString filename = KStandardDirs::locateLocal("data", KGlobal::instance()->instanceName());\r
+ QString filename = KStandardDirs::locateLocal("data", KGlobal::mainComponent().componentName());\r
filename.append("/panels_layout");\r
QFile file(filename);\r
if (file.open(QIODevice::WriteOnly)) {\r
}\r
}\r
\r
+void DolphinMainWindow::undo()\r
+{\r
+ clearStatusBar();\r
+ KonqUndoManager::self()->undo();\r
+}\r
+\r
void DolphinMainWindow::cut()\r
{\r
QMimeData* mimeData = new QMimeData();\r
m_activeView->setSorting(DolphinView::SortByDate);\r
}\r
\r
+void DolphinMainWindow::sortByPermissions()\r
+{\r
+ m_activeView->setSorting(DolphinView::SortByPermissions);\r
+}\r
+\r
+void DolphinMainWindow::sortByOwner()\r
+{\r
+ m_activeView->setSorting(DolphinView::SortByOwner);\r
+}\r
+\r
+void DolphinMainWindow::sortByGroup()\r
+{\r
+ m_activeView->setSorting(DolphinView::SortByGroup);\r
+}\r
+\r
void DolphinMainWindow::toggleSortOrder()\r
{\r
const Qt::SortOrder order = (m_activeView->sortOrder() == Qt::Ascending) ?\r
// TODO: I assume there will be a generic way in KDE 4 to restore the docks\r
// of the main window. In the meantime they are restored manually (see also\r
// DolphinMainWindow::closeEvent() for more details):\r
- QString filename = KStandardDirs::locateLocal("data", KGlobal::instance()->instanceName());\r
- filename.append("/panels_layout");\r
+ QString filename = KStandardDirs::locateLocal("data", KGlobal::mainComponent().componentName()); filename.append("/panels_layout");\r
QFile file(filename);\r
if (file.open(QIODevice::ReadOnly)) {\r
QByteArray data = file.readAll();\r
void DolphinMainWindow::setupActions()\r
{\r
// setup 'File' menu\r
- m_newMenu = new KNewMenu(actionCollection(), this, "create_new");\r
+ m_newMenu = new DolphinNewMenu(this);\r
KMenu* menu = m_newMenu->menu();\r
menu->setTitle(i18n("Create New..."));\r
menu->setIcon(SmallIcon("filenew"));\r
KStandardAction::quit(this, SLOT(quit()), actionCollection());\r
\r
// setup 'Edit' menu\r
- KStandardAction::undo(KonqUndoManager::self(),\r
+ KStandardAction::undo(this,\r
SLOT(undo()),\r
actionCollection());\r
\r
sortByDate->setText(i18n("By Date"));\r
connect(sortByDate, SIGNAL(triggered()), this, SLOT(sortByDate()));\r
\r
+ KToggleAction* sortByPermissions = actionCollection()->add<KToggleAction>("by_permissions");\r
+ sortByPermissions->setText(i18n("By Permissions"));\r
+ connect(sortByPermissions, SIGNAL(triggered()), this, SLOT(sortByPermissions()));\r
+\r
+ KToggleAction* sortByOwner = actionCollection()->add<KToggleAction>("by_owner");\r
+ sortByOwner->setText(i18n("By Owner"));\r
+ connect(sortByOwner, SIGNAL(triggered()), this, SLOT(sortByOwner()));\r
+\r
+ KToggleAction* sortByGroup = actionCollection()->add<KToggleAction>("by_group");\r
+ sortByGroup->setText(i18n("By Group"));\r
+ connect(sortByGroup, SIGNAL(triggered()), this, SLOT(sortByGroup()));\r
+\r
QActionGroup* sortGroup = new QActionGroup(this);\r
sortGroup->addAction(sortByName);\r
sortGroup->addAction(sortBySize);\r
sortGroup->addAction(sortByDate);\r
+ sortGroup->addAction(sortByPermissions);\r
+ sortGroup->addAction(sortByOwner);\r
+ sortGroup->addAction(sortByGroup);\r
\r
KToggleAction* sortDescending = actionCollection()->add<KToggleAction>("descending");\r
sortDescending->setText(i18n("Descending"));\r
}\r
\r
DolphinMainWindow::UndoUiInterface::UndoUiInterface(DolphinMainWindow* mainWin) :\r
+ KonqUndoManager::UiInterface(mainWin),\r
m_mainWin(mainWin)\r
{\r
assert(m_mainWin != 0);\r
statusBar->setMessage(job->errorString(), DolphinStatusBar::Error);\r
}\r
\r
-bool DolphinMainWindow::UndoUiInterface::copiedFileWasModified(const KUrl& src,\r
- const KUrl& dest,\r
- time_t /*srcTime*/,\r
- time_t destTime)\r
-{\r
- // The following code has been taken from libkonq/konq_undo.cc\r
- // Copyright (C) 2000 Simon Hausmann <hausmann@kde.org>\r
- // Copyright (C) 2006 David Faure <faure@kde.org>\r
- const QDateTime destDt = QDateTime::fromTime_t(destTime);\r
- const QString timeStr = KGlobal::locale()->formatDateTime(destDt, true /* short */);\r
- return KMessageBox::warningContinueCancel(\r
- m_mainWin,\r
- i18n( "The file %1 was copied from %2, but since then it has apparently been modified at %3.\n"\r
- "Undoing the copy will delete the file, and all modifications will be lost.\n"\r
- "Are you sure you want to delete %4?", dest.pathOrUrl(), src.pathOrUrl(), timeStr, dest.pathOrUrl()),\r
- i18n( "Undo File Copy Confirmation" ),\r
- KStandardGuiItem::cont(),\r
- QString(),\r
- KMessageBox::Notify | KMessageBox::Dangerous ) == KMessageBox::Continue;\r
-}\r
-\r
#include "dolphinmainwindow.moc"\r