aboutsummaryrefslogtreecommitdiff
path: root/src/mainwindow.cpp
diff options
context:
space:
mode:
authorMike Skec <skec@protonmail.ch>2021-01-02 19:19:37 +1100
committerFelix Queißner <felix@ib-queissner.de>2021-01-02 12:41:49 +0100
commit40cf7edd21fadb77342e99b1bb6b7c87785bafa1 (patch)
tree73675c042b4da725ff20119c86c8b00fb956c864 /src/mainwindow.cpp
parent90e20d2c047ae1d9527e15267e62dbc8349e7bb3 (diff)
downloadkristall-40cf7edd21fadb77342e99b1bb6b7c87785bafa1.tar.gz
favourites: implement #77, and add rename context menus
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r--src/mainwindow.cpp45
1 files changed, 38 insertions, 7 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 0a818c9..3315840 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -108,7 +108,6 @@ BrowserTab * MainWindow::addEmptyTab(bool focus_new, bool load_default)
if(focus_new) {
this->ui->browser_tabs->setCurrentIndex(index);
- tab->focusUrlBar();
}
if(load_default) {
@@ -117,6 +116,10 @@ BrowserTab * MainWindow::addEmptyTab(bool focus_new, bool load_default)
tab->navigateTo(QUrl("about:blank"), BrowserTab::DontPush);
}
+ if(focus_new) {
+ tab->focusUrlBar();
+ }
+
return tab;
}
@@ -239,12 +242,12 @@ void MainWindow::on_browser_tabs_currentChanged(int index)
updateWindowTitle();
}
-//void MainWindow::on_favourites_view_doubleClicked(const QModelIndex &index)
-//{
-// if(auto url = kristall::favourites.getFavourite(index).destination; url.isValid()) {
-// this->addNewTab(true, url);
-// }
-//}
+void MainWindow::on_favourites_view_doubleClicked(const QModelIndex &index)
+{
+ if(auto url = kristall::favourites.getFavourite(index).destination; url.isValid()) {
+ this->addNewTab(true, url);
+ }
+}
void MainWindow::on_browser_tabs_tabCloseRequested(int index)
{
@@ -517,6 +520,34 @@ void MainWindow::on_favourites_view_customContextMenuRequested(const QPoint pos)
menu.addSeparator();
+ connect(menu.addAction("Rename"), &QAction::triggered, [this, idx]() {
+ QInputDialog dialog { this };
+
+ dialog.setInputMode(QInputDialog::TextInput);
+ dialog.setLabelText(tr("New name of this favourite:"));
+ dialog.setTextValue(kristall::favourites.getFavourite(idx).getTitle());
+
+ if (dialog.exec() != QDialog::Accepted)
+ return;
+
+ kristall::favourites.editFavouriteTitle(idx, dialog.textValue());
+ });
+
+ connect(menu.addAction("Relocate"), &QAction::triggered, [this, idx]() {
+ QInputDialog dialog { this };
+
+ dialog.setInputMode(QInputDialog::TextInput);
+ dialog.setLabelText(tr("Enter new location of this favourite:"));
+ dialog.setTextValue(kristall::favourites.getFavourite(idx).destination.toString(QUrl::FullyEncoded));
+
+ if (dialog.exec() != QDialog::Accepted)
+ return;
+
+ kristall::favourites.editFavouriteDest(idx, QUrl(dialog.textValue()));
+ });
+
+ menu.addSeparator();
+
connect(menu.addAction("Delete"), &QAction::triggered, [idx]() {
kristall::favourites.destroyFavourite(idx);
});