Browse Source

Begun drafting backupwidget signals, moved buttons up to debug

Begun the plumbing of connecting TableView signals etc. 
The window doesnt resize well and had to move buttons over the table because the were under my screen
George 4 years ago
parent
commit
8ab6ee6a47
3 changed files with 89 additions and 46 deletions
  1. 26 3
      src/gui/widgets/backupwidget.cpp
  2. 4 0
      src/gui/widgets/backupwidget.h
  3. 59 43
      src/gui/widgets/backupwidget.ui

+ 26 - 3
src/gui/widgets/backupwidget.cpp

@@ -7,6 +7,8 @@
 #include <QListView>
 #include <QStandardItemModel>
 #include <QFileIconProvider>
+#include <QMessageBox>
+#include <QFileDialog>
 
 BackupWidget::BackupWidget(QWidget *parent) :
     QWidget(parent),
@@ -31,6 +33,7 @@ BackupWidget::BackupWidget(QWidget *parent) :
      *
      */
 
+
     fillTableWithSampleData();
 }
 
@@ -40,6 +43,11 @@ BackupWidget::~BackupWidget()
 }
 
 
+void BackupWidget::on_tableView_clicked(const QModelIndex &index) {
+    selected = model->item(index.row(), 0);
+    DEB << "Item at row:" << index.row() << "->" << selected->data(Qt::DisplayRole);
+}
+
 void BackupWidget::on_createLocalPushButton_clicked()
 {
     // Copy database to backupdir
@@ -52,22 +60,37 @@ void BackupWidget::on_restoreLocalPushButton_clicked()
 
 void BackupWidget::on_deleteSelectedPushButton_clicked()
 {
-    // Remove selected backup from list and delete file.
+    DEB << "deleting:" << selected->data(Qt::DisplayRole);
 }
 
 void BackupWidget::on_createExternalPushButton_clicked()
 {
+    QString filename = QFileDialog::getSaveFileName(
+                this,
+                "Choose destination file",
+                AStandardPaths::directory(AStandardPaths::Backup).absolutePath(),
+                ".db"
+    );
+    // [G] TODO: get time to properly format filename
     // Open something like a QFileDialog and let the user choose where to save the backup
 }
 
 void BackupWidget::on_restoreExternalPushButton_clicked()
 {
+    QString filename = QFileDialog::getSaveFileName(
+                this,
+                "Choose backup file",
+                QStandardPaths::displayName(QStandardPaths::HomeLocation),
+                ".db"
+    );
     // Open something like a QFileDialog and let the user choose where to load the backup from
 }
 
-void BackupWidget::on_aboutPushButton_clicked()
-{
+void BackupWidget::on_aboutPushButton_clicked() {
     // Shows a message box explaining a little about local and external backups
+    // [G]: Add message text. Could this be predefined in Opl::Assets?
+    QMessageBox msg_box(QMessageBox::Information, "About backups", "...", QMessageBox::Ok);
+    msg_box.exec();
 }
 
 

+ 4 - 0
src/gui/widgets/backupwidget.h

@@ -5,6 +5,7 @@
 #include <QStandardItemModel>
 #include <QFileSystemModel>
 #include <QFileSystemWatcher>
+#include <QTableView>
 
 namespace Ui {
 class BackupWidget;
@@ -19,6 +20,8 @@ public:
     ~BackupWidget();
 
 private slots:
+    void on_tableView_clicked(const QModelIndex &index);
+
     void on_createLocalPushButton_clicked();
 
     void on_restoreLocalPushButton_clicked();
@@ -35,6 +38,7 @@ private:
     Ui::BackupWidget *ui;
 
     QStandardItemModel *model;
+    QStandardItem *selected;
 
     void fillTableWithSampleData();
 };

+ 59 - 43
src/gui/widgets/backupwidget.ui

@@ -14,8 +14,14 @@
    <string>Form</string>
   </property>
   <layout class="QGridLayout" name="gridLayout">
-   <item row="3" column="0">
+   <item row="4" column="0">
     <widget class="QTableView" name="tableView">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
      <property name="sizeAdjustPolicy">
       <enum>QAbstractScrollArea::AdjustToContents</enum>
      </property>
@@ -39,7 +45,14 @@
      </attribute>
     </widget>
    </item>
-   <item row="5" column="0">
+   <item row="2" column="0">
+    <widget class="Line" name="line">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+    </widget>
+   </item>
+   <item row="6" column="0">
     <widget class="Line" name="line_2">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -78,31 +91,16 @@
      </item>
     </layout>
    </item>
-   <item row="9" column="0">
-    <widget class="QPushButton" name="createExternalPushButton">
-     <property name="text">
-      <string>Create External Backup</string>
-     </property>
-    </widget>
-   </item>
-   <item row="7" column="0">
-    <widget class="QPushButton" name="restoreLocalPushButton">
-     <property name="text">
-      <string>Restore Local Backup</string>
-     </property>
-    </widget>
-   </item>
-   <item row="6" column="0">
-    <widget class="QPushButton" name="createLocalPushButton">
-     <property name="text">
-      <string>Create Local Backup</string>
-     </property>
-    </widget>
-   </item>
    <item row="1" column="0">
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
       <widget class="QLabel" name="titleSpacerLabel1">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
        <property name="text">
         <string/>
        </property>
@@ -127,26 +125,44 @@
      </item>
     </layout>
    </item>
-   <item row="2" column="0">
-    <widget class="Line" name="line">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-    </widget>
-   </item>
-   <item row="10" column="0">
-    <widget class="QPushButton" name="restoreExternalPushButton">
-     <property name="text">
-      <string>Restore External Backup</string>
-     </property>
-    </widget>
-   </item>
-   <item row="8" column="0">
-    <widget class="QPushButton" name="deleteSelectedPushButton">
-     <property name="text">
-      <string>Delete Selected Backup</string>
-     </property>
-    </widget>
+   <item row="3" column="0">
+    <layout class="QHBoxLayout" name="horizontalLayout_11">
+     <item>
+      <widget class="QPushButton" name="restoreExternalPushButton">
+       <property name="text">
+        <string>Restore External Backup</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="createExternalPushButton">
+       <property name="text">
+        <string>Create External Backup</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="deleteSelectedPushButton">
+       <property name="text">
+        <string>Delete Selected Backup</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="restoreLocalPushButton">
+       <property name="text">
+        <string>Restore Local Backup</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="createLocalPushButton">
+       <property name="text">
+        <string>Create Local Backup</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
    </item>
   </layout>
  </widget>