parent
c9d138e2d7
commit
c1e7f22157
|
@ -1,6 +1,6 @@
|
||||||
cmake_minimum_required (VERSION 3.6)
|
cmake_minimum_required (VERSION 3.6)
|
||||||
project (whyblocked
|
project (whyblocked
|
||||||
VERSION 0.7.1
|
VERSION 0.7.2
|
||||||
LANGUAGES CXX
|
LANGUAGES CXX
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -97,6 +97,10 @@ void MainWindow::add()
|
||||||
add_row(QString::fromStdString(user),
|
add_row(QString::fromStdString(user),
|
||||||
blocked,
|
blocked,
|
||||||
QString::fromStdString(reason));
|
QString::fromStdString(reason));
|
||||||
|
for (const string &receipt : std::get<3>(data))
|
||||||
|
{
|
||||||
|
add_url(user, receipt);
|
||||||
|
}
|
||||||
|
|
||||||
statusBar()->showMessage(tr("Added %1 to database.")
|
statusBar()->showMessage(tr("Added %1 to database.")
|
||||||
.arg(QString::fromStdString(user)));
|
.arg(QString::fromStdString(user)));
|
||||||
|
@ -116,6 +120,7 @@ void MainWindow::remove()
|
||||||
.arg(QString::fromStdString(user)));
|
.arg(QString::fromStdString(user)));
|
||||||
_model->removeRow(row.row());
|
_model->removeRow(row.row());
|
||||||
}
|
}
|
||||||
|
label_receipts->clear();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -168,13 +173,38 @@ const string MainWindow::urls_to_hyperlinks(const string &text)
|
||||||
DialogAdd::DialogAdd(QMainWindow *parent) : QDialog(parent)
|
DialogAdd::DialogAdd(QMainWindow *parent) : QDialog(parent)
|
||||||
{
|
{
|
||||||
setupUi(this);
|
setupUi(this);
|
||||||
|
connect(button_receipt_add, &QPushButton::clicked, this, &DialogAdd::add_receipt);
|
||||||
|
connect(button_receipt_remove, &QPushButton::clicked, this, &DialogAdd::remove_receipt);
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::tuple<const string, const bool, const string> DialogAdd::get_data()
|
const dialogdata DialogAdd::get_data()
|
||||||
{
|
{
|
||||||
|
std::vector<string> receipts;
|
||||||
|
for (int row = 0; row <= list_receipts->count() - 1; ++row)
|
||||||
|
{
|
||||||
|
receipts.push_back(list_receipts->item(row)->text().toStdString());
|
||||||
|
}
|
||||||
|
|
||||||
return std::make_tuple(text_user->text().toStdString(),
|
return std::make_tuple(text_user->text().toStdString(),
|
||||||
radio_blocked->isChecked(),
|
radio_blocked->isChecked(),
|
||||||
text_reason->text().toStdString());
|
text_reason->text().toStdString(),
|
||||||
|
receipts);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DialogAdd::add_receipt()
|
||||||
|
{
|
||||||
|
QListWidgetItem *item = new QListWidgetItem("Test");
|
||||||
|
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||||
|
list_receipts->insertItem(list_receipts->count(), item);
|
||||||
|
list_receipts->editItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DialogAdd::remove_receipt()
|
||||||
|
{
|
||||||
|
for (auto item :list_receipts->selectedItems())
|
||||||
|
{
|
||||||
|
delete item;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
|
#include <list>
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <QStandardItemModel>
|
#include <QStandardItemModel>
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
@ -26,6 +27,10 @@
|
||||||
#include "ui_whyblocked_add.h"
|
#include "ui_whyblocked_add.h"
|
||||||
|
|
||||||
using std::string;
|
using std::string;
|
||||||
|
using dialogdata = std::tuple<const string,
|
||||||
|
const bool,
|
||||||
|
const string,
|
||||||
|
const std::vector<string>>;
|
||||||
|
|
||||||
class MainWindow : public QMainWindow, private Ui::MainWindow
|
class MainWindow : public QMainWindow, private Ui::MainWindow
|
||||||
{
|
{
|
||||||
|
@ -54,7 +59,11 @@ class DialogAdd : public QDialog, private Ui::DialogAdd
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DialogAdd(QMainWindow *parent = nullptr);
|
explicit DialogAdd(QMainWindow *parent = nullptr);
|
||||||
const std::tuple<const string, const bool, const string> get_data();
|
const dialogdata get_data();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void add_receipt();
|
||||||
|
void remove_receipt();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTERFACE_QT_HPP
|
#endif // INTERFACE_QT_HPP
|
||||||
|
|
|
@ -6,23 +6,57 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>300</width>
|
<width>400</width>
|
||||||
<height>170</height>
|
<height>300</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Dialog</string>
|
<string>Dialog</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="locale">
|
||||||
|
<locale language="English" country="UnitedKingdom"/>
|
||||||
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QGridLayout" name="layout_grid" rowstretch="0,0,0,0,0">
|
<layout class="QGridLayout" name="layout_grid" rowstretch="0,0,0,0,0,0,0,0">
|
||||||
<item row="0" column="0">
|
<property name="sizeConstraint">
|
||||||
<widget class="QLabel" name="label_user">
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
|
</property>
|
||||||
|
<property name="verticalSpacing">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="label_receipts">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Memory aids, proof</string>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>User/Instance</string>
|
<string>Receipts</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||||
</property>
|
</property>
|
||||||
<property name="buddy">
|
<property name="buddy">
|
||||||
<cstring>text_user</cstring>
|
<cstring>list_receipts</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QPushButton" name="button_receipt_add">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Add receipt</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Add</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="add"/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -48,22 +82,6 @@
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QLineEdit" name="text_user"/>
|
<widget class="QLineEdit" name="text_user"/>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_blocked">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Blocked/Silenced</string>
|
|
||||||
</property>
|
|
||||||
<property name="buddy">
|
|
||||||
<cstring>radio_blocked</cstring>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
<item row="2" column="1">
|
||||||
<widget class="QRadioButton" name="radio_silcenced">
|
<widget class="QRadioButton" name="radio_silcenced">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -90,7 +108,7 @@
|
||||||
<item row="3" column="1">
|
<item row="3" column="1">
|
||||||
<widget class="QLineEdit" name="text_reason"/>
|
<widget class="QLineEdit" name="text_reason"/>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="1">
|
<item row="7" column="1">
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
|
@ -100,6 +118,52 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_blocked">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Blocked/Silenced</string>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>radio_blocked</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_user">
|
||||||
|
<property name="text">
|
||||||
|
<string>User/Instance</string>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>text_user</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0">
|
||||||
|
<widget class="QPushButton" name="button_receipt_remove">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Remove receipt</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Remove</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="remove"/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1" rowspan="3">
|
||||||
|
<widget class="QListWidget" name="list_receipts">
|
||||||
|
<property name="editTriggers">
|
||||||
|
<set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
@ -109,6 +173,9 @@
|
||||||
<tabstop>radio_blocked</tabstop>
|
<tabstop>radio_blocked</tabstop>
|
||||||
<tabstop>radio_silcenced</tabstop>
|
<tabstop>radio_silcenced</tabstop>
|
||||||
<tabstop>text_reason</tabstop>
|
<tabstop>text_reason</tabstop>
|
||||||
|
<tabstop>button_receipt_add</tabstop>
|
||||||
|
<tabstop>button_receipt_remove</tabstop>
|
||||||
|
<tabstop>list_receipts</tabstop>
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections>
|
<connections>
|
||||||
|
@ -120,7 +187,7 @@
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>227</x>
|
<x>227</x>
|
||||||
<y>147</y>
|
<y>256</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>157</x>
|
<x>157</x>
|
||||||
|
@ -136,7 +203,7 @@
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>290</x>
|
<x>290</x>
|
||||||
<y>153</y>
|
<y>262</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>286</x>
|
<x>286</x>
|
||||||
|
|
Loading…
Reference in New Issue