Иправлен дизайн, добавлен заголовок окна

pull/3/head
Igor Belitskiy 3 years ago
parent ec78965b21
commit 602f98c077

File diff suppressed because it is too large Load Diff

@ -10,7 +10,7 @@ add_definitions(${GTK_CFLAGS_OTHER})
find_package(Threads REQUIRED)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a -g")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wmissing-declarations -fdiagnostics-color=always")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wmissing-declarations -fdiagnostics-color=always -g")
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

@ -110,6 +110,14 @@ void MainWindow::get_builder(){
builder->get_widget("iconDevelopment", iconDevelopment);
builder->get_widget("iconSystem", iconSystem);
builder->get_widget("lblSystem", lblSystem);
builder->get_widget("lblHeaderName", lblHeaderName);
builder->get_widget("popInfo", popInfo);
builder->get_widget("btnSynopsis", btnSynopsis);
builder->get_widget("btnAbout", btnAbout);
builder->get_widget("aboutWindows", aboutWindows);
builder->get_widget("btnSettings", btnSettings);
builder->get_widget("btnBoxAboutDialog", btnBoxAboutDialog);
}
void MainWindow::set_icon_array(){
@ -150,6 +158,9 @@ void MainWindow::add_CSS(){
}
void MainWindow::localization(){
aboutWindows->set_comments(gettext("ublexec"));
aboutWindows->set_website_label(gettext("Project Home Page"));
lblHeaderName->set_text(gettext("ublexec"));
this->set_title(gettext("ublexec"));
btnStart->set_label(gettext("Run"));
wndChooseFileWallpaper->set_title(gettext("Please select File"));
@ -204,6 +215,14 @@ void MainWindow::event(){
iconOther->signal_selection_changed().connect(sigc::mem_fun(*this,&MainWindow::select_Other));
iconDevelopment->signal_selection_changed().connect(sigc::mem_fun(*this,&MainWindow::select_Development));
iconSystem->signal_selection_changed().connect(sigc::mem_fun(*this,&MainWindow::select_System));
btnSynopsis->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::synopsis_show));
btnAbout->signal_clicked().connect([&](){aboutWindows->show();});
btnSettings->signal_clicked().connect([&](){popInfo->show();});
}
void MainWindow::synopsis_show(){
//wrapper_system("xdg-open https://wiki.ublinux.ru/ru/home");
}
void MainWindow::icon_clear(){
@ -312,6 +331,7 @@ void MainWindow::settings(){
rbPkexec->set_sensitive(false);
rbSu->set_sensitive(false);
rbSudo->set_sensitive(false);
btnBoxAboutDialog->set_visible(false);
//Gtk::Widget *standartHead;
//Gtk::Widget *plugBox;
@ -420,7 +440,6 @@ void MainWindow::open_list_app(){
else if (str_categor=="System"){
this->tempalte_row(st_app.Name,st_app.Exec, path, list_System);
}
}
}
dialogStartMenu->show_all();
@ -435,46 +454,28 @@ void MainWindow::start_cmd(){
if (name_app.length()==0 && path_file.length()==0){
user_cmd = txtCmd->get_text();
}
//=========================================
if (chbAnotherUser->get_active()){
if (geteuid()!=0){
//chbTerminal->set_active(true);
}
if (rbPkexec->get_active()){
if ((chbAnotherUser->get_active()) && (cmbUser->get_active_text().length()==0)) {
str_variants_root = " pkexec --user ${USER} env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY ";
}
else if (chbAnotherUser->get_active()){
str_variants_root = " pkexec --user " + cmbUser->get_active_text() + " env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY ";
}
else{
str_variants_root = " pkexec --user ${USER} env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY ";
}
}
else if (rbSu->get_active()){
if ((chbAnotherUser->get_active()) && (cmbUser->get_active_text().length()==0)) {
str_variants_root="su ";
}
else if (chbAnotherUser->get_active()){
str_variants_root="su --user " + cmbUser->get_active_text() + " ";
}
else{
str_variants_root="su";
}
chbTerminal->set_active(true);
str_variants_root="su -l " + cmbUser->get_active_text() + " -c \" DISPLAY=$DISPLAY ";
}
else if (rbSudo->get_active()){
if ((chbAnotherUser->get_active()) && (cmbUser->get_active_text().length()==0)) {
str_variants_root="sudo ";
}
else if (chbAnotherUser->get_active()){
str_variants_root="sudo --user " + cmbUser->get_active_text() + " ";
}
else{
str_variants_root="sudo ";
}
chbTerminal->set_active(true);
str_variants_root="sudo -u " + cmbUser->get_active_text() + " ";
}
}
if (cbxExecuteEpriority->get_active()){
@ -500,25 +501,17 @@ void MainWindow::start_cmd(){
cmd = str_nice_cmd + " nohup " + str_cmd_terminal + str_variants_root + name_app;
}
else{
user_cmd = this->str_remove(user_cmd, str_cmd_terminal);
user_cmd = this->str_remove(user_cmd, str_variants_root);
user_cmd = this->str_remove(user_cmd, str_nice_cmd);
string str_del = "xterm -e";
user_cmd = this->str_remove(user_cmd, str_del);
str_del = "nohup";
string str_del = " ";
user_cmd = this->str_remove(user_cmd, str_del);
str_del = "pkexec --user superadmin env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY";
vector<std::string> vec_user_cmd = this->split(user_cmd, ' ');
size_t vec_len = vec_user_cmd.size();
user_cmd = vec_user_cmd[vec_len-1];
str_del = "\"";
user_cmd = this->str_remove(user_cmd, str_del);
str_del = " &";
user_cmd = this->str_remove(user_cmd, str_del);
for (int index=-20; index<20; index++){
str_del = to_string(index);
user_cmd = this->str_remove(user_cmd, str_del);
}
str_del = cmbUser->get_active_text();
user_cmd = this->str_remove(user_cmd, str_del);
cmd = str_nice_cmd + " nohup " + str_cmd_terminal + str_variants_root + user_cmd ;
if (str_variants_root.find("su -l") != string::npos){
cmd += "\"";
}
}
txtCmd->set_text(cmd);

@ -74,6 +74,7 @@ public:
void select_System();
void icon_clear();
void set_icon_array();
void synopsis_show();
//static void me_thread(string cmd);
void unselect_icon(Gtk::IconView *icon_entry);
string str_remove(std::string& source, const std::string& to_remove);
@ -147,6 +148,7 @@ public:
Gtk::Label *lblOther;
Gtk::Label *lblDevelopment;
Gtk::Label *lblSystem;
Gtk::Label *lblHeaderName;
Gtk::IconView *iconGraphics;
Gtk::IconView *iconTools;
@ -159,6 +161,12 @@ public:
Gtk::IconView *iconDevelopment;
Gtk::IconView *iconSystem;
Gtk::IconView *iconEntry;
Gtk::Popover *popInfo;
Gtk::ModelButton *btnAbout;
Gtk::ModelButton *btnSynopsis;
Gtk::AboutDialog *aboutWindows;
Gtk::MenuButton *btnSettings;
Gtk::ButtonBox *btnBoxAboutDialog;
Glib::RefPtr<Gtk::ListStore> list_Graphics;
Glib::RefPtr<Gtk::ListStore> list_Tools;

@ -2,6 +2,59 @@
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkOffscreenWindow">
<property name="can-focus">False</property>
<child>
<placeholder/>
</child>
</object>
<object class="GtkAboutDialog" id="aboutWindows">
<property name="can-focus">False</property>
<property name="title" translatable="yes">О Программе</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="window-position">center</property>
<property name="icon-name">ubl-settings-datetime</property>
<property name="type-hint">dialog</property>
<property name="urgency-hint">True</property>
<property name="program-name">ublexec</property>
<property name="version">1.2</property>
<property name="copyright" translatable="yes">Copyright © 2023 - UBSoft Software LLC</property>
<property name="comments" translatable="yes">Setting the date and time</property>
<property name="website">https://ublinux.ru/</property>
<property name="website-label" translatable="yes">Project Home Page</property>
<property name="license" translatable="yes">Это приложение распространяется без каких-либо гарантий.
Подробнее в &lt;a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html"&gt;GNU General Public License, версии 2 или позднее&lt;/a&gt;.</property>
<property name="authors">UBGroup</property>
<property name="artists">UBGroup</property>
<property name="logo-icon-name">ublexec</property>
<property name="wrap-license">True</property>
<property name="license-type">gpl-2-0</property>
<child internal-child="vbox">
<object class="GtkBox">
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="btnBoxAboutDialog">
<property name="can-focus">False</property>
<property name="layout-style">end</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
<object class="GtkAdjustment" id="adjustment1">
<property name="lower">-20</property>
<property name="upper">19</property>
@ -525,9 +578,65 @@
</object>
</child>
</object>
<object class="GtkPopover" id="popInfo">
<property name="can-focus">False</property>
<child>
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="top-padding">5</property>
<property name="bottom-padding">5</property>
<property name="left-padding">5</property>
<property name="right-padding">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkModelButton" id="btnSynopsis">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="text" translatable="yes">Synopsis</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkModelButton" id="btnAbout">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="text" translatable="yes">About the program</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label_item">
<placeholder/>
</child>
</object>
</child>
</object>
<object class="GtkWindow" id="window">
<property name="can-focus">False</property>
<property name="title" translatable="yes">UBConfig - ubexec</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -807,14 +916,14 @@ specified priority</property>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
@ -1004,14 +1113,14 @@ specified priority</property>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
@ -1237,14 +1346,14 @@ specified priority</property>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
@ -1279,13 +1388,64 @@ specified priority</property>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="lblHeaderName">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Ublexec</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">ublexec</property>
</object>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkMenuButton" id="btnSettings">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="focus-on-click">False</property>
<property name="receives-default">True</property>
<property name="draw-indicator">True</property>
<property name="direction">none</property>
<property name="popover">popInfo</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkFileChooserDialog" id="wndChooseFileWallpaper">
<property name="can-focus">False</property>

@ -6,6 +6,9 @@
msgid ""
msgstr ""
msgid "Project Home Page"
msgstr "Домашняя страница проекта"
msgid "System"
msgstr "Система"

Loading…
Cancel
Save