return -1;
}
- MainWindow* window = new MainWindow;
- window->restore(1);
+ MainWindow* window = new MainWindow();
if (!window->loadPart()) {
delete window;
return -1;
}
+ window->restore(1);
} else { //new ark window (no restored session)
// open any given URLs
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
batchJob->start();
} else {
- MainWindow *window = new MainWindow;
+ MainWindow *window = new MainWindow();
if (!window->loadPart()) { // if loading the part fails
delete window;
return -1;
}
MainWindow::MainWindow(QWidget *)
- : KParts::MainWindow()
+ : KParts::MainWindow(),
+ m_part(nullptr)
{
setXMLFile(QLatin1String( "arkui.rc" ));
}
guiFactory()->removeClient(m_part);
delete m_part;
- m_part = 0;
+ m_part = nullptr;
}
void MainWindow::dragEnterEvent(QDragEnterEvent * event)
m_openArgs.metaData().remove(QLatin1String( "showExtractDialog" ));
m_openArgs.metaData().remove(QLatin1String( "createNewArchive" ));
}
+
+void MainWindow::saveProperties(KConfigGroup &group)
+{
+ if (m_part) {
+ group.writePathEntry("URL", m_part->url().url());
+ }
+}
+
+void MainWindow::readProperties(const KConfigGroup &group)
+{
+ openUrl(group.readPathEntry("URL", QString()));
+}
{
Q_OBJECT
public:
- MainWindow(QWidget *parent = 0);
+ MainWindow(QWidget *parent = nullptr);
~MainWindow();
bool loadPart();
- void dragEnterEvent(class QDragEnterEvent * event);
- void dropEvent(class QDropEvent * event);
- void dragMoveEvent(class QDragMoveEvent * event);
+ void dragEnterEvent(class QDragEnterEvent *event);
+ void dropEvent(class QDropEvent *event);
+ void dragMoveEvent(class QDragMoveEvent *event);
public slots:
void openUrl(const KUrl& url);
void editKeyBindings();
void editToolbars();
+protected:
+ // KMainWindow reimplementations
+ void saveProperties(KConfigGroup &group) final;
+ void readProperties(const KConfigGroup &group) final;
+
private:
void setupActions();
#include <KParts/StatusBarExtension>
#include <KTempDir>
-#include <QtCore/qabstractitemmodel.h>
+#include <QModelIndex>
+#include <QAction>
+#include <QSplitter>
+#include <QTreeView>
class ArchiveModel;
class InfoPanel;
class KAction;
class KJob;
-#include <QAction>
-#include <QSplitter>
-#include <QTreeView>
-
namespace Ark
{