Добавлен парсер

pull/1/head
Igor Belitskiy 3 years ago
parent 1b8e13e3f3
commit 06f1ab1821

@ -9,7 +9,6 @@
#include <vector> #include <vector>
#include <map> #include <map>
#include <fstream> #include <fstream>
#include <filesystem>
#include <libintl.h> #include <libintl.h>
#include <locale.h> #include <locale.h>
#include <stdio.h> #include <stdio.h>
@ -24,7 +23,6 @@
#include <gtkmm/plug.h> #include <gtkmm/plug.h>
#include <string> #include <string>
#include <iostream> #include <iostream>
#include <filesystem>
#include <iostream> #include <iostream>
#include <sys/types.h> #include <sys/types.h>
#include <pwd.h> #include <pwd.h>

@ -24,7 +24,6 @@
#include <gtkmm/plug.h> #include <gtkmm/plug.h>
#include <string> #include <string>
#include <iostream> #include <iostream>
#include <filesystem>
#include <iostream> #include <iostream>
#include <sys/types.h> #include <sys/types.h>
#include <pwd.h> #include <pwd.h>
@ -98,6 +97,37 @@ void MainWindow::get_builder(){
builder->get_widget("lblInfoPriority", lblInfoPriority); builder->get_widget("lblInfoPriority", lblInfoPriority);
builder->get_widget("lblInfoPriority", lblInfoEnterProg); builder->get_widget("lblInfoPriority", lblInfoEnterProg);
builder->get_widget("boxColor", boxColor); builder->get_widget("boxColor", boxColor);
builder->get_widget("lblGraphics", lblGraphics);
builder->get_widget("lblTools", lblTools);
builder->get_widget("lblInternet", lblInternet);
builder->get_widget("lblMultimedia", lblMultimedia);
builder->get_widget("lblSettings", lblSettings);
builder->get_widget("lblEducation", lblEducation);
builder->get_widget("lblOffice", lblOffice);
builder->get_widget("lblOther", lblOther);
builder->get_widget("lblDevelopment", lblDevelopment);
builder->get_widget("lblSystem", lblSystem);
builder->get_widget("iconGraphics", iconGraphics);
builder->get_widget("iconTools", iconTools);
builder->get_widget("iconInternet", iconInternet);
builder->get_widget("iconMultimedia", iconMultimedia);
builder->get_widget("iconSettings", iconSettings);
builder->get_widget("iconEducation", iconEducation);
builder->get_widget("iconOffice", iconOffice);
builder->get_widget("iconOther", iconOther);
builder->get_widget("iconDevelopment", iconDevelopment);
builder->get_widget("iconSystem", iconSystem);
builder->get_widget("liststoreGraphics", liststoreGraphics);
builder->get_widget("liststoreTools", liststoreTools);
builder->get_widget("liststoreInternet", liststoreInternet);
builder->get_widget("liststoreMultimedia", liststoreMultimedia);
builder->get_widget("liststoreSettings", liststoreSettings);
builder->get_widget("liststoreEducation", liststoreEducation);
builder->get_widget("liststoreOffice", liststoreOffice);
builder->get_widget("liststoreOther", liststoreOther);
builder->get_widget("liststoreDevelopment", liststoreDevelopment);
builder->get_widget("liststoreSystem", liststoreSystem);
} }
void MainWindow::add_CSS(){ void MainWindow::add_CSS(){
@ -127,7 +157,16 @@ void MainWindow::localization(){
lblInfoPriority->set_text(gettext("Priority:")); lblInfoPriority->set_text(gettext("Priority:"));
lblMessageError->set_text(gettext("Select an executable file or program")); lblMessageError->set_text(gettext("Select an executable file or program"));
lblInfoEnterProg->set_text(gettext("Selecting Programs")); lblInfoEnterProg->set_text(gettext("Selecting Programs"));
lblGraphics->set_text(gettext("Graphics"));
lblTools->set_text(gettext("Tools"));
lblInternet->set_text(gettext("Internet"));
lblMultimedia->set_text(gettext("Multimedia"));
lblSettings->set_text(gettext("Settings"));
lblEducation->set_text(gettext("Education"));
lblOffice->set_text(gettext("Office"));
lblOther->set_text(gettext("Other"));
lblDevelopment->set_text(gettext("Development"));
lblSystem->set_text(gettext("System"));
} }
void MainWindow::event(){ void MainWindow::event(){
@ -196,13 +235,54 @@ void MainWindow::get_path_filemaneg(){
} }
} }
void MainWindow::open_list_app(){ void MainWindow::open_list_app(){
//liststoreDevelopment = iconDevelopment->get_model();
/*
for ( const auto &str_app : list_app){
for ( const auto &str_categor : str_app.Categories){
if (str_categor=="Graphics"){
}
else if (str_categor=="Tools"){
}
else if (str_categor=="Internet"){
}
else if (str_categor=="Multimedia"){
}
else if (str_categor=="Settings"){
}
else if (str_categor=="Education"){
}
else if (str_categor=="Office"){
}
else if (str_categor=="Other"){
}
else if (str_categor=="Development"){
cout << str_categor << endl;
}
else if (str_categor=="System"){
}
}
}
for (const auto & str_categor : set_categories){ for (const auto & str_categor : set_categories){
Gtk::Label* Label1 = new Gtk::Label(str_categor); Gtk::Label* Label1 = new Gtk::Label(str_categor);
Gtk::IconView* icon = new Gtk::IconView(); Gtk::IconView* icon = new Gtk::IconView();
boxlistProgramm->pack_start(*icon); boxlistProgramm->pack_start(*icon);
boxlistProgramm->pack_start(*Label1); boxlistProgramm->pack_start(*Label1);
dialogStartMenu->show_all();
} }
*/
dialogStartMenu->show_all();
} }
void MainWindow::start_cmd(){ void MainWindow::start_cmd(){
//txtCmd->set_text(""); //txtCmd->set_text("");
@ -284,7 +364,6 @@ void MainWindow::start_cmd(){
} }
string cmd = ""; string cmd = "";
cmd = "" + str_cmd_terminal + str_variants_root + str_nice_cmd + user_cmd + " &"; cmd = "" + str_cmd_terminal + str_variants_root + str_nice_cmd + user_cmd + " &";
cout << cmd << endl;
txtCmd->set_text(cmd); txtCmd->set_text(cmd);
system(cmd.c_str()); system(cmd.c_str());
@ -370,73 +449,55 @@ void MainWindow::pars_users(){
cmbUser->append("root"); cmbUser->append("root");
endpwent(); endpwent();
} }
vector<std::string> MainWindow::split(const std::string &s, char delim) {
std::stringstream ss(s);
std::string item;
std::vector<std::string> elems;
while (std::getline(ss, item, delim)) {
elems.push_back(item);
// elems.push_back(std::move(item)); // if C++11 (based on comment from @mchiasson)
}
return elems;
}
void MainWindow::pars_apps(){ void MainWindow::pars_apps(){
if (list_app.size()!=0){return;}
namespace fs = std::filesystem; namespace fs = std::filesystem;
string file_name=""; struct struct_App App;
std::string line; string file_name = "";
int index_equals = 0; string str_Categories;
string key = ""; string path = "/usr/share/applications/";
string value = ""; for (const auto & entry : fs::directory_iterator(path)){
for (const auto & entry : fs::directory_iterator("/usr/share/applications/")){
file_name = entry.path().filename().string(); file_name = entry.path().filename().string();
path = "/usr/share/applications/"+file_name;
if (file_name.find(".desktop")!=std::string::npos){ if (file_name.find(".desktop")!=std::string::npos){
std::ifstream in(entry.path()); GKeyFile *gfile=g_key_file_new();
if (in.is_open()){ g_key_file_load_from_file(gfile,path.c_str(),G_KEY_FILE_KEEP_TRANSLATIONS,NULL);
while (getline(in, line)){ char *Type=g_key_file_get_string(gfile,"Desktop Entry", "Type",NULL);
index_equals=line.find("="); char *Name=g_key_file_get_locale_string(gfile,"Desktop Entry","Name",setlocale(LC_ALL,NULL),NULL);
if (index_equals!=std::string::npos){ char *Exec=g_key_file_get_string(gfile,"Desktop Entry", "Exec",NULL);
key = line.substr(0, index_equals); char *Categories=g_key_file_get_locale_string(gfile,"Desktop Entry", "Categories",setlocale(LC_ALL,""),NULL);
value = line.substr(index_equals+1,line.length()); char *Icon=g_key_file_get_string(gfile,"Desktop Entry", "Icon",NULL);
struct_App App; if (Type==NULL) continue;
if (key=="Name"){ if (Name==NULL) continue;
App.Name = value; if (Exec==NULL) continue;
} if (Categories==NULL) continue;
else if (key=="Type"){ if (Icon==NULL) continue;
App.Type = value; str_Categories = Categories;
} App.Name = Name;
else if (key=="Exec"){ App.Type = Type;
App.Exec = value; App.Exec = Exec;
} App.Icon = Name;
else if (key=="Icon"){ App.Name_desktop = file_name;
App.Icon = value; App.Categories = split(str_Categories, ';');
} for ( const auto &text : App.Categories){
else if (key=="Icon"){ set_categories.insert(text);
App.Icon = value;
}
else if (key=="MimeType"){
App.Icon = value;
}
else if (key=="Categories"){
App.Categories = value;
string substr1 = ";";
int index=0;
int old_index=0;
while ((index = value.find(substr1, index)) != std::string::npos) {
if ((value.length()-1)!=index){
string s = value.substr(old_index, index);
if (s.find(";") != std::string::npos){
s=s.replace(0,s.length(), ";");
set_categories.insert(s);
}
else{
if (value.substr(old_index, index).find(";") == std::string::npos){
set_categories.insert(value.substr(old_index, index));
}
}
}
if ((value.length()-1)==index){
if (value.substr(old_index, index).find(";") == std::string::npos){
set_categories.insert(value.substr(index,value.length()));
}
}
old_index=index;
index += substr1.length();
}
}
}
}
} }
} }
list_app.push_back(App);
} }
} }
SettingsPlug::SettingsPlug(::Window p_socketID, Glib::RefPtr<Gtk::Builder> builder) SettingsPlug::SettingsPlug(::Window p_socketID, Glib::RefPtr<Gtk::Builder> builder)
@ -452,3 +513,4 @@ SettingsPlug::SettingsPlug(::Window p_socketID, Glib::RefPtr<Gtk::Builder> build

@ -85,6 +85,7 @@ public:
void pars_dir_bin(); void pars_dir_bin();
void pars_users(); void pars_users();
void pars_apps(); void pars_apps();
vector<std::string> split(const std::string &s, char delim);
public: public:
Glib::RefPtr<Gtk::Builder> builder; Glib::RefPtr<Gtk::Builder> builder;
@ -115,6 +116,7 @@ public:
Gtk::Button *btnStartMenuExit; Gtk::Button *btnStartMenuExit;
Gtk::Box *boxlistProgramm; Gtk::Box *boxlistProgramm;
Gtk::Dialog *dialogStartMenu; Gtk::Dialog *dialogStartMenu;
Gtk::Box *boxColor;
Gtk::Label *lblInfoHead; Gtk::Label *lblInfoHead;
Gtk::Label *lblinfoCmd; Gtk::Label *lblinfoCmd;
Gtk::Label *lblInfoTime; Gtk::Label *lblInfoTime;
@ -126,7 +128,40 @@ public:
Gtk::Label *lblInfoExec; Gtk::Label *lblInfoExec;
Gtk::Label *lblInfoPriority; Gtk::Label *lblInfoPriority;
Gtk::Label *lblInfoEnterProg; Gtk::Label *lblInfoEnterProg;
Gtk::Box *boxColor;
Gtk::Label *lblGraphics;
Gtk::Label *lblTools;
Gtk::Label *lblInternet;
Gtk::Label *lblMultimedia;
Gtk::Label *lblSettings;
Gtk::Label *lblEducation;
Gtk::Label *lblOffice;
Gtk::Label *lblOther;
Gtk::Label *lblDevelopment;
Gtk::Label *lblSystem;
Gtk::IconView *iconGraphics;
Gtk::IconView *iconTools;
Gtk::IconView *iconInternet;
Gtk::IconView *iconMultimedia;
Gtk::IconView *iconSettings;
Gtk::IconView *iconEducation;
Gtk::IconView *iconOffice;
Gtk::IconView *iconOther;
Gtk::IconView *iconDevelopment;
Gtk::IconView *iconSystem;
Gtk::ListStore *liststoreGraphics;
Gtk::ListStore *liststoreTools;
Gtk::ListStore *liststoreInternet;
Gtk::ListStore *liststoreMultimedia;
Gtk::ListStore *liststoreSettings;
Gtk::ListStore *liststoreEducation;
Gtk::ListStore *liststoreOffice;
Gtk::ListStore *liststoreOther;
Gtk::ListStore *liststoreDevelopment;
Gtk::ListStore *liststoreSystem;
@ -137,12 +172,14 @@ public:
bool flag_sudo = false; bool flag_sudo = false;
string path_file_name; string path_file_name;
struct struct_App{ struct struct_App{
string Name_desktop;
string Name; string Name;
string Exec; string Exec;
string Icon; string Icon;
string MimeType; string MimeType;
string Type; string Type;
string Categories;}; vector<std::string> Categories;
};
list <struct_App> list_app; list <struct_App> list_app;
set <string> set_categories; set <string> set_categories;

@ -8,107 +8,6 @@
<property name="step-increment">1</property> <property name="step-increment">1</property>
<property name="page-increment">10</property> <property name="page-increment">10</property>
</object> </object>
<object class="GtkDialog" id="dialogStartMenu">
<property name="can-focus">False</property>
<property name="title" translatable="yes">Внимание!</property>
<property name="type-hint">dialog</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">
<property name="can-focus">False</property>
<property name="layout-style">end</property>
<child>
<object class="GtkButton" id="btnStartMenuOK">
<property name="label" translatable="yes">ОК</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnStartMenuExit">
<property name="label" translatable="yes">Выход</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="lblInfoEnterProg">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Выбор программ</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox" id="boxlistProgramm">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkImage" id="image1"> <object class="GtkImage" id="image1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -914,6 +813,525 @@
</object> </object>
</child> </child>
</object> </object>
<object class="GtkListStore" id="liststoreDevelopment">
<columns>
<!-- column-name GdkPixbuf1 -->
<column type="GdkPixbuf"/>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="liststoreEducation">
<columns>
<!-- column-name GdkPixbuf1 -->
<column type="GdkPixbuf"/>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="liststoreGraphics">
<columns>
<!-- column-name GdkPixbuf1 -->
<column type="GdkPixbuf"/>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="liststoreInternet">
<columns>
<!-- column-name GdkPixbuf1 -->
<column type="GdkPixbuf"/>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="liststoreMultimedia">
<columns>
<!-- column-name GdkPixbuf1 -->
<column type="GdkPixbuf"/>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="liststoreOffice">
<columns>
<!-- column-name GdkPixbuf1 -->
<column type="GdkPixbuf"/>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="liststoreOther">
<columns>
<!-- column-name GdkPixbuf1 -->
<column type="GdkPixbuf"/>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="liststoreSettings">
<columns>
<!-- column-name GdkPixbuf1 -->
<column type="GdkPixbuf"/>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="liststoreSystem">
<columns>
<!-- column-name GdkPixbuf1 -->
<column type="GdkPixbuf"/>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="liststoreTools">
<columns>
<!-- column-name GdkPixbuf1 -->
<column type="GdkPixbuf"/>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkDialog" id="dialogStartMenu">
<property name="width-request">250</property>
<property name="height-request">470</property>
<property name="can-focus">False</property>
<property name="type-hint">dialog</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">
<property name="can-focus">False</property>
<property name="layout-style">end</property>
<child>
<object class="GtkButton" id="btnStartMenuOK">
<property name="label" translatable="yes">ОК</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnStartMenuExit">
<property name="label" translatable="yes">Выход</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="lblInfoEnterProg">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Выбор программ</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox" id="boxlistProgramm">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="lblGraphics">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Графика</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkIconView" id="iconGraphics">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreGraphics</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblTools">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Инструменты</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkIconView" id="iconTools">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreTools</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblInternet">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Интернет</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkIconView" id="iconInternet">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreInternet</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblMultimedia">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Мультимедиа</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">6</property>
</packing>
</child>
<child>
<object class="GtkIconView" id="iconMultimedia">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreMultimedia</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">7</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblSettings">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Настройки</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">8</property>
</packing>
</child>
<child>
<object class="GtkIconView" id="iconSettings">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreSettings</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">9</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblEducation">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Образование</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">10</property>
</packing>
</child>
<child>
<object class="GtkIconView" id="iconEducation">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreEducation</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">11</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblOffice">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Офис</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">12</property>
</packing>
</child>
<child>
<object class="GtkIconView" id="iconOffice">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreOffice</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">13</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblOther">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Прочие</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">14</property>
</packing>
</child>
<child>
<object class="GtkIconView" id="iconOther">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreOther</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">15</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblDevelopment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Разработка</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">16</property>
</packing>
</child>
<child>
<object class="GtkIconView" id="iconDevelopment">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreDevelopment</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">17</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblSystem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="label" translatable="yes">Система</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">18</property>
</packing>
</child>
<child>
<object class="GtkIconView" id="iconSystem">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="item-orientation">horizontal</property>
<property name="model">liststoreSystem</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">19</property>
</packing>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkMessageDialog" id="messageError"> <object class="GtkMessageDialog" id="messageError">
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="title" translatable="yes">Внимание!</property> <property name="title" translatable="yes">Внимание!</property>

@ -6,6 +6,36 @@
msgid "" msgid ""
msgstr "" msgstr ""
msgid "System"
msgstr "Система"
msgid "Development"
msgstr "Разработка"
msgid "Other"
msgstr "Прочие"
msgid "Office"
msgstr "Офис"
msgid "Education"
msgstr "Образование"
msgid "Settings"
msgstr "Настройки"
msgid "Multimedia"
msgstr "Мультимедиа"
msgid "Internet"
msgstr "Интернет"
msgid "Tools"
msgstr "Инструменты"
msgid "Graphics"
msgstr "Графика"
msgid "ОК" msgid "ОК"
msgstr "ОК" msgstr "ОК"

Loading…
Cancel
Save