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

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

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

@ -24,7 +24,6 @@
#include <gtkmm/plug.h>
#include <string>
#include <iostream>
#include <filesystem>
#include <iostream>
#include <sys/types.h>
#include <pwd.h>
@ -98,6 +97,37 @@ void MainWindow::get_builder(){
builder->get_widget("lblInfoPriority", lblInfoPriority);
builder->get_widget("lblInfoPriority", lblInfoEnterProg);
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(){
@ -127,7 +157,16 @@ void MainWindow::localization(){
lblInfoPriority->set_text(gettext("Priority:"));
lblMessageError->set_text(gettext("Select an executable file or program"));
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(){
@ -196,13 +235,54 @@ void MainWindow::get_path_filemaneg(){
}
}
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){
Gtk::Label* Label1 = new Gtk::Label(str_categor);
Gtk::IconView* icon = new Gtk::IconView();
boxlistProgramm->pack_start(*icon);
boxlistProgramm->pack_start(*Label1);
dialogStartMenu->show_all();
}
*/
dialogStartMenu->show_all();
}
void MainWindow::start_cmd(){
//txtCmd->set_text("");
@ -284,7 +364,6 @@ void MainWindow::start_cmd(){
}
string cmd = "";
cmd = "" + str_cmd_terminal + str_variants_root + str_nice_cmd + user_cmd + " &";
cout << cmd << endl;
txtCmd->set_text(cmd);
system(cmd.c_str());
@ -370,73 +449,55 @@ void MainWindow::pars_users(){
cmbUser->append("root");
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(){
if (list_app.size()!=0){return;}
namespace fs = std::filesystem;
struct struct_App App;
string file_name = "";
std::string line;
int index_equals = 0;
string key = "";
string value = "";
for (const auto & entry : fs::directory_iterator("/usr/share/applications/")){
string str_Categories;
string path = "/usr/share/applications/";
for (const auto & entry : fs::directory_iterator(path)){
file_name = entry.path().filename().string();
path = "/usr/share/applications/"+file_name;
if (file_name.find(".desktop")!=std::string::npos){
std::ifstream in(entry.path());
if (in.is_open()){
while (getline(in, line)){
index_equals=line.find("=");
if (index_equals!=std::string::npos){
key = line.substr(0, index_equals);
value = line.substr(index_equals+1,line.length());
struct_App App;
if (key=="Name"){
App.Name = value;
}
else if (key=="Type"){
App.Type = value;
}
else if (key=="Exec"){
App.Exec = value;
}
else if (key=="Icon"){
App.Icon = value;
}
else if (key=="Icon"){
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();
}
}
}
}
GKeyFile *gfile=g_key_file_new();
g_key_file_load_from_file(gfile,path.c_str(),G_KEY_FILE_KEEP_TRANSLATIONS,NULL);
char *Type=g_key_file_get_string(gfile,"Desktop Entry", "Type",NULL);
char *Name=g_key_file_get_locale_string(gfile,"Desktop Entry","Name",setlocale(LC_ALL,NULL),NULL);
char *Exec=g_key_file_get_string(gfile,"Desktop Entry", "Exec",NULL);
char *Categories=g_key_file_get_locale_string(gfile,"Desktop Entry", "Categories",setlocale(LC_ALL,""),NULL);
char *Icon=g_key_file_get_string(gfile,"Desktop Entry", "Icon",NULL);
if (Type==NULL) continue;
if (Name==NULL) continue;
if (Exec==NULL) continue;
if (Categories==NULL) continue;
if (Icon==NULL) continue;
str_Categories = Categories;
App.Name = Name;
App.Type = Type;
App.Exec = Exec;
App.Icon = Name;
App.Name_desktop = file_name;
App.Categories = split(str_Categories, ';');
for ( const auto &text : App.Categories){
set_categories.insert(text);
}
}
list_app.push_back(App);
}
}
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_users();
void pars_apps();
vector<std::string> split(const std::string &s, char delim);
public:
Glib::RefPtr<Gtk::Builder> builder;
@ -115,6 +116,7 @@ public:
Gtk::Button *btnStartMenuExit;
Gtk::Box *boxlistProgramm;
Gtk::Dialog *dialogStartMenu;
Gtk::Box *boxColor;
Gtk::Label *lblInfoHead;
Gtk::Label *lblinfoCmd;
Gtk::Label *lblInfoTime;
@ -126,7 +128,40 @@ public:
Gtk::Label *lblInfoExec;
Gtk::Label *lblInfoPriority;
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;
string path_file_name;
struct struct_App{
string Name_desktop;
string Name;
string Exec;
string Icon;
string MimeType;
string Type;
string Categories;};
vector<std::string> Categories;
};
list <struct_App> list_app;
set <string> set_categories;

@ -8,107 +8,6 @@
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</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">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -914,6 +813,525 @@
</object>
</child>
</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">
<property name="can-focus">False</property>
<property name="title" translatable="yes">Внимание!</property>

@ -6,6 +6,36 @@
msgid ""
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 "ОК"
msgstr "ОК"

Loading…
Cancel
Save