From 170a7dc4c68e454beb4c568e359318e22a951d0c Mon Sep 17 00:00:00 2001 From: Paul Cercueil Date: Wed, 17 Oct 2012 00:51:55 +0200 Subject: [PATCH] Add "editable" parameter: when "false", the link can't be modified. If omitted, the default value is "true". --- src/gmenu2x.cpp | 2 +- src/linkapp.cpp | 4 ++++ src/linkapp.h | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gmenu2x.cpp b/src/gmenu2x.cpp index 4047f14..3ded2bf 100644 --- a/src/gmenu2x.cpp +++ b/src/gmenu2x.cpp @@ -1019,7 +1019,7 @@ void GMenu2X::contextMenu() { } } - if (menu->selLinkApp()!=NULL) { + if (menu->selLinkApp()!=NULL && menu->selLinkApp()->isEditable()) { { MenuOption opt = {tr.translate("Edit $1",menu->selLink()->getTitle().c_str(),NULL), MakeDelegate(this, &GMenu2X::editLink)}; voices.push_back(opt); diff --git a/src/linkapp.cpp b/src/linkapp.cpp index 00f07b2..78635a9 100644 --- a/src/linkapp.cpp +++ b/src/linkapp.cpp @@ -66,6 +66,7 @@ LinkApp::LinkApp(GMenu2X *gmenu2x_, Touchscreen &ts, InputManager &inputMgr_, selectorfilter = ""; icon = iconPath = ""; selectorbrowser = false; + editable = true; #ifdef PLATFORM_DINGUX consoleApp = false; #endif @@ -195,6 +196,9 @@ LinkApp::LinkApp(GMenu2X *gmenu2x_, Touchscreen &ts, InputManager &inputMgr_, #endif } else if (name == "selectorfilter") { setSelectorFilter( value ); + } else if (name == "editable") { + if (value == "false") + editable = false; #ifdef HAVE_LIBOPK } else WARNING("Unrecognized option: '%s'\n", name.c_str()); diff --git a/src/linkapp.h b/src/linkapp.h index 1029953..cfc0103 100644 --- a/src/linkapp.h +++ b/src/linkapp.h @@ -40,7 +40,7 @@ private: std::string sclock; int iclock; std::string exec, params, workdir, manual, selectordir, selectorfilter, selectorscreens; - bool selectorbrowser; + bool selectorbrowser, editable; void drawRun(); std::string aliasfile; @@ -99,6 +99,7 @@ public: void showManual(); void selector(int startSelection=0, const std::string &selectorDir=""); bool targetExists(); + bool isEditable() { return editable; } const std::string &getFile() { return file; } void renameFile(const std::string &name);