Skip to content

Commit

Permalink
#2789 add: more Deck implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
pbek committed Jun 5, 2023
1 parent 3f67ab9 commit a35eb3d
Show file tree
Hide file tree
Showing 10 changed files with 205 additions and 64 deletions.
35 changes: 31 additions & 4 deletions src/dialogs/nextclouddeckdialog.cpp
Expand Up @@ -2,25 +2,44 @@

#include "services/nextclouddeckservice.h"
#include "ui_nextclouddeckdialog.h"
#include "mainwindow.h"
#include <QTimeZone>

NextcloudDeckDialog::NextcloudDeckDialog(QWidget *parent) :
QDialog(parent),
MasterDialog(parent),
ui(new Ui::NextcloudDeckDialog) {
ui->setupUi(this);
ui->dueDateTimeEdit->setDateTime(QDateTime::currentDateTime());
ui->saveButton->setEnabled(false);
ui->dueDateTimeCheckBox->setChecked(true);
ui->titleLineEdit->setFocus();
}

NextcloudDeckDialog::~NextcloudDeckDialog() {
delete ui;
}

void NextcloudDeckDialog::on_saveButton_clicked() {
ui->saveButton->setEnabled(false);
NextcloudDeckService nextcloudDeckService(CloudConnection::currentCloudConnection().getId(), this);

auto *dateTime = new QDateTime(ui->dueDateTimeEdit->dateTime());
nextcloudDeckService.createCard(ui->titleLineEdit->text(),
"",
dateTime);
dateTime->setTimeZone(QTimeZone::systemTimeZone());
const QString &title = ui->titleLineEdit->text();
int cardId = nextcloudDeckService.createCard(title,
ui->descriptionTextEdit->toPlainText(),
ui->dueDateTimeCheckBox->isChecked() ? dateTime : nullptr);
auto linkText = QString("[%1](%2)").arg(
title, nextcloudDeckService.getCardLinkForId(cardId));

#ifndef INTEGRATION_TESTS
MainWindow *mainWindow = MainWindow::instance();
if (mainWindow != nullptr) {
mainWindow->activeNoteTextEdit()->insertPlainText(linkText);
}
#endif

close();
}

void NextcloudDeckDialog::on_add1HourButton_clicked() {
Expand All @@ -46,3 +65,11 @@ void NextcloudDeckDialog::on_sub1HourButton_clicked() {
void NextcloudDeckDialog::on_subd1DayButton_clicked() {
ui->dueDateTimeEdit->setDateTime(ui->dueDateTimeEdit->dateTime().addDays(-1));
}

void NextcloudDeckDialog::on_titleLineEdit_textChanged(const QString &arg1) {
ui->saveButton->setEnabled(!arg1.isEmpty());
}

void NextcloudDeckDialog::on_dueDateTimeCheckBox_toggled(bool checked) {
ui->dueDateTimeEdit->setEnabled(checked);
}
8 changes: 7 additions & 1 deletion src/dialogs/nextclouddeckdialog.h
Expand Up @@ -3,11 +3,13 @@

#include <QDialog>

#include "masterdialog.h"

namespace Ui {
class NextcloudDeckDialog;
}

class NextcloudDeckDialog : public QDialog
class NextcloudDeckDialog : public MasterDialog
{
Q_OBJECT

Expand All @@ -30,6 +32,10 @@ private slots:

void on_subd1DayButton_clicked();

void on_titleLineEdit_textChanged(const QString &arg1);

void on_dueDateTimeCheckBox_toggled(bool checked);

private:
Ui::NextcloudDeckDialog *ui;
};
Expand Down
133 changes: 98 additions & 35 deletions src/dialogs/nextclouddeckdialog.ui
Expand Up @@ -6,39 +6,39 @@
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
<width>463</width>
<height>412</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="2">
<widget class="QPushButton" name="add1DayButton">
<item row="5" column="0">
<widget class="QPushButton" name="sub10MinButton">
<property name="text">
<string>+1d</string>
<string>-10min</string>
</property>
</widget>
</item>
<item row="7" column="0" colspan="3">
<widget class="QPushButton" name="saveButton">
<property name="toolTip">
<string>Save the current todo item</string>
</property>
<item row="4" column="0">
<widget class="QPushButton" name="add10MinButton">
<property name="text">
<string>Save</string>
</property>
<property name="icon">
<iconset theme="document-save" resource="../breeze-qownnotes.qrc">
<normaloff>:/icons/breeze-qownnotes/16x16/document-save.svg</normaloff>:/icons/breeze-qownnotes/16x16/document-save.svg</iconset>
<string>+10min</string>
</property>
<property name="shortcut">
<string notr="true">Ctrl+S</string>
</widget>
</item>
<item row="4" column="2">
<widget class="QPushButton" name="add1DayButton">
<property name="text">
<string>+1d</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<item row="2" column="0" colspan="3">
<widget class="QOwnNotesMarkdownTextEdit" name="descriptionTextEdit"/>
</item>
<item row="3" column="1" colspan="2">
<widget class="QDateTimeEdit" name="dueDateTimeEdit">
<property name="currentSection">
<enum>QDateTimeEdit::HourSection</enum>
Expand All @@ -48,60 +48,123 @@
</property>
</widget>
</item>
<item row="0" column="0" colspan="3">
<widget class="QLineEdit" name="titleLineEdit">
<property name="placeholderText">
<string>Title</string>
<item row="5" column="2">
<widget class="QPushButton" name="subd1DayButton">
<property name="text">
<string>-1d</string>
</property>
</widget>
</item>
<item row="8" column="0" colspan="3">
<widget class="QFrame" name="buttonFrame">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="saveButton">
<property name="toolTip">
<string>Save the current todo item</string>
</property>
<property name="text">
<string>&amp;Save</string>
</property>
<property name="icon">
<iconset theme="document-save" resource="../breeze-qownnotes.qrc">
<normaloff>:/icons/breeze-qownnotes/16x16/document-save.svg</normaloff>:/icons/breeze-qownnotes/16x16/document-save.svg</iconset>
</property>
<property name="shortcut">
<string notr="true">Ctrl+S</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="1">
<item row="4" column="1">
<widget class="QPushButton" name="add1HourButton">
<property name="text">
<string>+1h</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="add10MinButton">
<property name="text">
<string>+10min</string>
<item row="0" column="0" colspan="3">
<widget class="QLineEdit" name="titleLineEdit">
<property name="placeholderText">
<string>Title</string>
</property>
</widget>
</item>
<item row="3" column="1">
<item row="5" column="1">
<widget class="QPushButton" name="sub1HourButton">
<property name="text">
<string>-1h</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="sub10MinButton">
<item row="1" column="0" colspan="3">
<widget class="QLabel" name="descriptionLabel">
<property name="text">
<string>-10min</string>
<string>Description:</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QPushButton" name="subd1DayButton">
<item row="3" column="0">
<widget class="QCheckBox" name="dueDateTimeCheckBox">
<property name="text">
<string>-1d</string>
<string>Due date</string>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>QOwnNotesMarkdownTextEdit</class>
<extends>QPlainTextEdit</extends>
<header location="global">widgets/qownnotesmarkdowntextedit.h</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>titleLineEdit</tabstop>
<tabstop>dueDateTimeEdit</tabstop>
<tabstop>saveButton</tabstop>
<tabstop>add10MinButton</tabstop>
<tabstop>add1HourButton</tabstop>
<tabstop>add1DayButton</tabstop>
<tabstop>sub10MinButton</tabstop>
<tabstop>sub1HourButton</tabstop>
<tabstop>subd1DayButton</tabstop>
<tabstop>saveButton</tabstop>
<tabstop>dueDateTimeCheckBox</tabstop>
<tabstop>descriptionTextEdit</tabstop>
</tabstops>
<resources>
<include location="../breeze-qownnotes.qrc"/>
Expand Down
6 changes: 2 additions & 4 deletions src/dialogs/notedialog.cpp
Expand Up @@ -8,6 +8,7 @@
#include <QSettings>

#include "ui_notedialog.h"
#include "utils/urlhandler.h"

NoteDialog::NoteDialog(QWidget *parent) : MasterDialog(parent), ui(new Ui::NoteDialog) {
ui->setupUi(this);
Expand Down Expand Up @@ -37,11 +38,8 @@ NoteDialog::~NoteDialog() { delete ui; }

void NoteDialog::on_noteTextView_anchorClicked(const QUrl &url) {
qDebug() << __func__ << " - 'url': " << url;
const QString scheme = url.scheme();

if ((scheme == QStringLiteral("note") || scheme == QStringLiteral("noteid") ||
scheme == QStringLiteral("task") || scheme == QStringLiteral("checkbox")) ||
(scheme == QStringLiteral("file") && Note::fileUrlIsNoteInCurrentNoteFolder(url))) {
if (UrlHandler::isUrlSchemeLocal(url)) {
return;
}

Expand Down
12 changes: 9 additions & 3 deletions src/dialogs/settingsdialog.ui
Expand Up @@ -1497,11 +1497,14 @@
<item row="0" column="1">
<widget class="QSpinBox" name="nextcloudDeckBoardSpinBox">
<property name="minimum">
<number>1</number>
<number>0</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item row="0" column="0">
Expand All @@ -1521,11 +1524,14 @@
<item row="1" column="1">
<widget class="QSpinBox" name="nextcloudDeckStackSpinBox">
<property name="minimum">
<number>1</number>
<number>0</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
</layout>
Expand Down Expand Up @@ -7036,8 +7042,8 @@ Just test yourself if you get sync conflicts and set a higher value if so.</stri
<tabstop>enableSocketServerCheckBox</tabstop>
</tabstops>
<resources>
<include location="../breeze-qownnotes.qrc"/>
<include location="../breeze-dark-qownnotes.qrc"/>
<include location="../breeze-qownnotes.qrc"/>
</resources>
<connections>
<connection>
Expand Down

0 comments on commit a35eb3d

Please sign in to comment.