]> jfr.im git - irc/kvirc/KVIrc.git/commitdiff
libkviurl: Add "Open" default action to menu
authorVladimir Panteleev <redacted>
Wed, 17 Apr 2019 21:15:06 +0000 (21:15 +0000)
committerBenjamin Staneck <redacted>
Thu, 2 May 2019 00:12:05 +0000 (02:12 +0200)
Does exactly the same as double-clicking.

Copies the UI pattern from most graphical file managers.
A nice kind of redundancy to have.

src/modules/url/libkviurl.cpp
src/modules/url/libkviurl.h

index de1a4982bfba8155c389a700e0ffb666b2bae7fc..54b65325155f3b969b83247ccd22ddf83b545ca1 100644 (file)
@@ -184,6 +184,11 @@ void UrlDialog::close_slot()
        close();
 }
 
+void UrlDialog::open()
+{
+       open_url(m_szUrl);
+}
+
 void UrlDialog::remove()
 {
        if(!m_pUrlList->currentItem())
@@ -207,15 +212,19 @@ void UrlDialog::findtext()
 {
 }
 
-void UrlDialog::dblclk_url(QTreeWidgetItem * item, int)
+void UrlDialog::open_url(QString szUrl)
 {
        QString cmd = "openurl ";
-       QString szUrl = item->text(0);
        KviQString::escapeKvs(&szUrl);
        cmd.append(szUrl);
        KviKvsScript::run(cmd, this);
 }
 
+void UrlDialog::dblclk_url(QTreeWidgetItem * item, int)
+{
+       open_url(item->text(0));
+}
+
 void UrlDialog::contextMenu(const QPoint & point)
 {
        QTreeWidgetItem * item = m_pUrlList->itemAt(point);
@@ -224,6 +233,7 @@ void UrlDialog::contextMenu(const QPoint & point)
        if (item)
        {
                m_szUrl = item->text(0);
+               p.setDefaultAction(p.addAction(__tr2qs("&Open"), this, SLOT(open())));
                p.addAction(__tr2qs("&Remove"), this, SLOT(remove()));
 
                p.addSeparator();
index 81519cdd979b0f207b28e9c777045d8c5509cb4f..3b53232b4eb83d82b5221d5a9c1c66ef287cc73c 100644 (file)
@@ -93,8 +93,10 @@ protected slots:
        void loadList();
        void clear();
        void close_slot();
+       void open();
        void remove();
        void findtext();
+       void open_url(QString szUrl);
        void dblclk_url(QTreeWidgetItem * item, int);
        void contextMenu(const QPoint & p);
        void sayToWin(QAction * act);