aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/FilePage.cpp
diff options
context:
space:
mode:
authorSaturn&Eric <[email protected]>2023-07-13 16:51:19 +0000
committerGitHub <[email protected]>2023-07-13 16:51:19 +0000
commit40bcaec6c8c0c363bf793745131a2e6d0274fd6d (patch)
tree8dc11045bee7caf8a1b936ee2203dd39bec59e07 /src/ui/widgets/FilePage.cpp
parentMerge pull request #102 from CDmking/main (diff)
parentMerge branch 'main' into dev/2.1.0/main (diff)
downloadGpgFrontend-40bcaec6c8c0c363bf793745131a2e6d0274fd6d.tar.gz
GpgFrontend-40bcaec6c8c0c363bf793745131a2e6d0274fd6d.zip
Merge pull request #106 from saturneric/dev/2.1.0/main
Develop 2.1.1.4
Diffstat (limited to 'src/ui/widgets/FilePage.cpp')
-rw-r--r--src/ui/widgets/FilePage.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/ui/widgets/FilePage.cpp b/src/ui/widgets/FilePage.cpp
index 144de3d8..b5243da0 100644
--- a/src/ui/widgets/FilePage.cpp
+++ b/src/ui/widgets/FilePage.cpp
@@ -249,14 +249,23 @@ void FilePage::create_popup_menu() {
connect(ui_->actionCompressFiles, &QAction::triggered, this,
&FilePage::slot_compress_files);
+ ui_->actionOpenWithSystemDefaultApplication->setText(
+ _("Open with Default System Application"));
+ connect(ui_->actionOpenWithSystemDefaultApplication, &QAction::triggered,
+ this, &FilePage::slot_open_item_by_system_application);
+
auto new_item_action_menu = new QMenu(this);
new_item_action_menu->setTitle(_("New"));
new_item_action_menu->addAction(ui_->actionCreateEmptyFile);
new_item_action_menu->addAction(ui_->actionMakeDirectory);
popup_menu_->addAction(ui_->actionOpenFile);
+ popup_menu_->addAction(ui_->actionOpenWithSystemDefaultApplication);
+
+ popup_menu_->addSeparator();
popup_menu_->addMenu(new_item_action_menu);
popup_menu_->addSeparator();
+
popup_menu_->addAction(ui_->actionRenameFile);
popup_menu_->addAction(ui_->actionDeleteFile);
popup_menu_->addAction(ui_->actionCompressFiles);
@@ -349,6 +358,18 @@ void FilePage::slot_open_item() {
}
}
+void FilePage::slot_open_item_by_system_application() {
+ QFileInfo info(QString::fromStdString(selected_path_.u8string()));
+ auto q_selected_path = QString::fromStdString(selected_path_.u8string());
+ if (info.isDir()) {
+ const auto file_path = info.filePath().toUtf8().toStdString();
+ QDesktopServices::openUrl(QUrl::fromLocalFile(q_selected_path));
+
+ } else {
+ QDesktopServices::openUrl(QUrl::fromLocalFile(q_selected_path));
+ }
+}
+
void FilePage::slot_rename_item() {
auto new_name_path = selected_path_, old_name_path = selected_path_;
auto old_name = old_name_path.filename();