From e912ffe356508283ee5f9fd9eb10d5fce307b711 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Wed, 25 Jan 2023 17:57:04 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20CSS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 4 ++-- README.md | 26 ++++++++++++++++++++++++++ screenshot/screenshot.png | Bin 0 -> 34262 bytes source/ublexec.cc | 30 +++++++++++++++++++++--------- source/ublexec.h | 25 ++++++++++++++----------- style.css | 4 ++++ ublexec.glade | 14 +++++++++----- ublexec_ru.po | 2 +- 8 files changed, 77 insertions(+), 28 deletions(-) create mode 100644 screenshot/screenshot.png create mode 100644 style.css diff --git a/Makefile b/Makefile index c71260d..494a4fd 100644 --- a/Makefile +++ b/Makefile @@ -104,9 +104,9 @@ install: check uninstall @install -Dm755 -t /usr/bin/ ${CMAKE_BUILD_DIR}/${PKGNAME} @install -Dm644 -t /usr/share/applications/ ${PKGNAME}.desktop @install -Dm644 -t /usr/share/polkit-1/actions/ org.ublinux.pkexec.${PKGNAME}.exec.policy - @install -dm755 /usr/share/${PKGNAME}/{ui,images} + @install -dm755 /usr/share/${PKGNAME}/{ui,css,images} @install -Dm644 -t /usr/share/${PKGNAME}/ui/ ${PKGNAME}.glade -# @install -Dm644 -t /usr/share/${PKGNAME}/css/ style.css + @install -Dm644 -t /usr/share/${PKGNAME}/css/ style.css # @install -Dm644 -t /usr/share/${PKGNAME}/images/ ${PKGNAME}.svg # @install -Dm644 -t /usr/share/${PKGNAME}/images/ ${PKGNAME}.png @gtk-update-icon-cache -fiq /usr/share/icons/hicolor/ diff --git a/README.md b/README.md index 141ec06..0072bc5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,28 @@ # ublexec +# ВЫполнить +# Build +In order to build ublexec you will need: + +- CMake +- C compiler +- GTK+ 3 & dependencies + +Once you have all the necessary dependencies, you can use: +```sh +$ make +``` + +# Installation +After a successful build, just use: +```sh +$ sudo make install clean +``` + +# Uninstallation +After a successful build, just use: +```sh +$ sudo make uninstall +``` + +![alt text](screenshot/screenshot.png) diff --git a/screenshot/screenshot.png b/screenshot/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..1c2ec435f152d8b3c479f77c1b95ad788be8a220 GIT binary patch literal 34262 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 f3BVmOagAR8Y`tU^get_widget("rbSu", rbSu); builder->get_widget("rbSudo", rbSudo); builder->get_widget("txtCmd", txtCmd); - builder->get_widget("wndChooseDirWallpaper", wndChooseDirWallpaper); + builder->get_widget("wndChooseFileWallpaper", wndChooseFileWallpaper); builder->get_widget("btnFilemangerExit", btnFilemangerExit); builder->get_widget("btnFilemangerOk", btnFilemangerOk); builder->get_widget("lblTimeEpriorityLow", lblTimeEpriorityLow); @@ -85,7 +86,6 @@ void MainWindow::get_builder(){ builder->get_widget("btnStartMenuOK", btnStartMenuOK); builder->get_widget("btnStartMenuExit", btnStartMenuExit); builder->get_widget("boxlistProgramm", boxlistProgramm); - builder->get_widget("lblInfoHead", lblInfoHead); builder->get_widget("lblinfoCmd", lblinfoCmd); builder->get_widget("lblInfoTime", lblInfoTime); @@ -97,9 +97,23 @@ void MainWindow::get_builder(){ builder->get_widget("lblInfoExec", lblInfoExec); builder->get_widget("lblInfoPriority", lblInfoPriority); builder->get_widget("lblInfoPriority", lblInfoEnterProg); + builder->get_widget("boxColor", boxColor); +} + +void MainWindow::add_CSS(){ + Glib::RefPtr cssProvider = Gtk::CssProvider::create(); + cssProvider->load_from_path(path_css); + Glib::RefPtr styleContext = Gtk::StyleContext::create(); + Glib::RefPtr screen = Gdk::Screen::get_default();//get default screen + styleContext->add_provider_for_screen(screen, cssProvider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);//add provider for screen in all application + Glib::RefPtr context = boxColor->get_style_context(); + context->add_class("cssboxColor1"); } + void MainWindow::localization(){ this->set_title(gettext("ublexec")); + btnStart->set_label(gettext("Run")); + wndChooseFileWallpaper->set_title(gettext("Please select File")); dialogStartMenu->set_title(gettext("Warning!")); lblInfoHead->set_text(gettext("Running applications as a user with a specified priority")); lblinfoCmd->set_text(gettext("Command Line")); @@ -113,7 +127,7 @@ void MainWindow::localization(){ lblInfoPriority->set_text(gettext("Priority:")); lblMessageError->set_text(gettext("Select an executable file or program")); lblInfoEnterProg->set_text(gettext("Selecting Programs")); - btnStart->set_label(gettext("Run")); + } void MainWindow::event(){ @@ -138,6 +152,7 @@ void MainWindow::settings(){ this->get_builder(); this->event(); this->localization(); + this->add_CSS(); spinPriority->set_range(-20,19); spinPriority->set_increments(1.0,-1.0); scalePriority->set_inverted(true); @@ -167,13 +182,13 @@ void MainWindow::activ_or_block_execute_epriority(){ } void MainWindow::open_filemaneg(){ - wndChooseDirWallpaper->show(); + wndChooseFileWallpaper->show(); } void MainWindow::close_filemaneg(){ - wndChooseDirWallpaper->hide(); + wndChooseFileWallpaper->hide(); } void MainWindow::get_path_filemaneg(){ - path_file_name = wndChooseDirWallpaper->get_filename(); + path_file_name = wndChooseFileWallpaper->get_filename(); if (path_file_name.length()==0){} else{ this->close_filemaneg(); @@ -265,9 +280,6 @@ void MainWindow::start_cmd(){ } txtCmd->set_text(str_cmd_terminal + str_variants_root + str_nice_cmd); - - - path_file_name=""; } void MainWindow::changed_user(){ diff --git a/source/ublexec.h b/source/ublexec.h index eb62d22..49b9dec 100644 --- a/source/ublexec.h +++ b/source/ublexec.h @@ -34,6 +34,7 @@ using namespace std; extern string path_app; extern string app_name; extern string path_glade; +extern string path_css; class CmdArgParser : public Glib::OptionGroup @@ -62,6 +63,7 @@ public: MainWindow(BaseObjectType* obj, Glib::RefPtr const& builder); MainWindow(Glib::RefPtr const& builder); void get_builder(); + void add_CSS(); void localization(); void event(); void settings(); @@ -99,7 +101,7 @@ public: Gtk::RadioButton *rbSu; Gtk::RadioButton *rbSudo; Gtk::Entry *txtCmd; - Gtk::FileChooserDialog *wndChooseDirWallpaper; + Gtk::FileChooserDialog *wndChooseFileWallpaper; Gtk::Button *btnFilemangerExit; Gtk::Button *btnFilemangerOk; Gtk::Label *lblTimeEpriority; @@ -114,16 +116,17 @@ public: Gtk::Box *boxlistProgramm; Gtk::Dialog *dialogStartMenu; Gtk::Label *lblInfoHead; - Gtk::Label * lblinfoCmd; - Gtk::Label * lblInfoTime; - Gtk::Label * labInfoExecutTerm; - Gtk::Label * lblInfoUser; - Gtk::Label * lblInfoUserOther; - Gtk::Label * lblInfoUserName; - Gtk::Label * lblInfoNooPriority; - Gtk::Label * lblInfoExec; - Gtk::Label * lblInfoPriority; - Gtk::Label * lblInfoEnterProg; + Gtk::Label *lblinfoCmd; + Gtk::Label *lblInfoTime; + Gtk::Label *labInfoExecutTerm; + Gtk::Label *lblInfoUser; + Gtk::Label *lblInfoUserOther; + Gtk::Label *lblInfoUserName; + Gtk::Label *lblInfoNooPriority; + Gtk::Label *lblInfoExec; + Gtk::Label *lblInfoPriority; + Gtk::Label *lblInfoEnterProg; + Gtk::Box *boxColor; diff --git a/style.css b/style.css new file mode 100644 index 0000000..f3bdf4e --- /dev/null +++ b/style.css @@ -0,0 +1,4 @@ +.cssboxColor1{ + background-color: rgb(255, 255, 255); + background-size: 100% auto; +} \ No newline at end of file diff --git a/ublexec.glade b/ublexec.glade index 84fe9bc..552ef51 100644 --- a/ublexec.glade +++ b/ublexec.glade @@ -122,6 +122,7 @@ False + Выполнить True @@ -138,7 +139,7 @@ False vertical - + True False @@ -171,6 +172,9 @@ 6 6 Запуск приложений от имени пользователя с указанным приоритетом + + + True @@ -264,8 +268,8 @@ 5 5 5 - 6 - 6 + 3 + 3 True @@ -963,9 +967,9 @@ - + False - Пожалуйста Выберите Файл + Пожалуйста выберите Файл True center 500 diff --git a/ublexec_ru.po b/ublexec_ru.po index 591a127..e395e0c 100644 --- a/ublexec_ru.po +++ b/ublexec_ru.po @@ -67,7 +67,7 @@ msgid "Select an executable file or program" msgstr "Выберите исполняемый файл или программу" msgid "Please select File" -msgstr "Пожалуйста Выберите Файл" +msgstr "Пожалуйста выберите Файл" msgid "Warning!" msgstr "Внимание!"