|
|
#include <gtk/gtk.h>
|
|
|
#include <gtk/gtkx.h>
|
|
|
#include "ubl-utils.h"
|
|
|
#include <locale.h>
|
|
|
#include <stdio.h>
|
|
|
#include <unistd.h>
|
|
|
#include <stdlib.h>
|
|
|
#include <libintl.h>
|
|
|
#include <getopt.h>
|
|
|
#include <libintl.h>
|
|
|
#include <vte/vte.h>
|
|
|
#include "ubl-settings-resourcequota-cm.h"
|
|
|
#include "view_add.h"
|
|
|
#include "filters.h"
|
|
|
#include "view_edit.h"
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef WEBKIT_FOUND
|
|
|
#include <webkit2/webkit2.h>
|
|
|
#endif
|
|
|
#include "ubl-strings.h"
|
|
|
|
|
|
#define WIKI_LINK "https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-resourcequota"
|
|
|
|
|
|
#define _(String) gettext(String)
|
|
|
|
|
|
#define glade_path "/usr/share/ubl-settings-resourcequota/ui/ubl-settings-resourcequota.glade"
|
|
|
#define banner_path "/usr/share/ubl-settings-resourcequota/images/ubl-settings-resourcequota-banner.png"
|
|
|
#define CssPath "/usr/share/ubl-settings-resourcequota/css/ubl-settings-resourcequota.css"
|
|
|
|
|
|
#define LocalePath "/usr/share/locale"
|
|
|
#define LocaleName "ubl-settings-resourcequota"
|
|
|
typedef char* string;
|
|
|
string version_application = "1.0";
|
|
|
|
|
|
static char *local;
|
|
|
|
|
|
typedef struct {
|
|
|
int always_open_documentation;
|
|
|
int win_pos_x;
|
|
|
int win_pos_y;
|
|
|
int win_width;
|
|
|
int win_height;
|
|
|
|
|
|
int socket_id;
|
|
|
int load_socket_id;
|
|
|
int save_socket_id;
|
|
|
|
|
|
int lock_help;
|
|
|
int lock_save_local;
|
|
|
int lock_save_global;
|
|
|
int lock_load_global;
|
|
|
|
|
|
GtkListStore *list;
|
|
|
render_data status_render;
|
|
|
config_str type_quota;
|
|
|
config_str quota_volume;
|
|
|
config_str soft_raw_limit;
|
|
|
config_str hard_raw_limit;
|
|
|
config_str swap;
|
|
|
config_str cpu_limit;
|
|
|
config_str i_o_limit_read;
|
|
|
config_str i_o_limit_write;
|
|
|
int size_tree_view;
|
|
|
} config;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
|
|
|
GtkTreeViewColumn *tvc0;
|
|
|
GtkTreeViewColumn *tvc1;
|
|
|
GtkTreeViewColumn *tvc2;
|
|
|
GtkTreeViewColumn *tvc3;
|
|
|
GtkTreeViewColumn *tvc4;
|
|
|
GtkTreeViewColumn *tvc5;
|
|
|
GtkTreeViewColumn *tvc6;
|
|
|
GtkTreeViewColumn *tvc7;
|
|
|
|
|
|
GtkWidget *btnDelQuotas;
|
|
|
GtkWidget *cbtMainInfoLevel2;
|
|
|
GtkWidget *cbtMainInfo;
|
|
|
GtkWidget *vteProcesses;
|
|
|
GtkWidget *vteInformation;
|
|
|
GtkWidget *btnMainShowCoreStream;
|
|
|
GtkWidget *btnMainShowAllEmpty;
|
|
|
GtkWidget *vteDispatcher;
|
|
|
GtkWidget *spinUpdateDispatcher;
|
|
|
GtkWidget *btnUpdateDispatcher;
|
|
|
GtkWidget *treeViewMain;
|
|
|
GtkWidget *btnSaveCfg;
|
|
|
GtkWidget *btnShowFilters;
|
|
|
GtkWidget *notebookMain;
|
|
|
GtkWidget *btnEdit;
|
|
|
GtkWidget *btnInfo;
|
|
|
GtkWidget *btnAdd;
|
|
|
GtkWidget *HatLabel;
|
|
|
GtkWidget *PlugBox;
|
|
|
|
|
|
GtkWidget *HeadOverlay;
|
|
|
GtkWidget *HeadImage;
|
|
|
GtkWidget *HeadBox;
|
|
|
GtkWidget *HeadTitleLabel;
|
|
|
GtkWidget *HeadInfoLabel;
|
|
|
|
|
|
GtkWidget *StatusBox;
|
|
|
GtkWidget *StatusIcon;
|
|
|
GtkWidget *StatusLabel;
|
|
|
|
|
|
GtkWidget *SaveLabel;
|
|
|
GtkWidget *SaveMenuItem;
|
|
|
GtkWidget *SaveGlobalMenuItem;
|
|
|
GtkWidget *SaveLocalMenuItem;
|
|
|
GtkWidget *RightBox;
|
|
|
|
|
|
GtkWidget *LoadLabel;
|
|
|
GtkWidget *LoadGlobalMenuItem;
|
|
|
GtkWidget *LoadLocalMenuItem;
|
|
|
GtkWidget *LeftBox;
|
|
|
|
|
|
GtkWidget *DocumentationMenuItem;
|
|
|
GtkWidget *AboutMenuItem;
|
|
|
} main_window;
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
|
|
|
GtkWidget *HatText;
|
|
|
GtkWidget *HeaderText;
|
|
|
GtkWidget *InfoText;
|
|
|
GtkWidget *AlwaysOpenCheck;
|
|
|
|
|
|
GtkWidget *CloseButton;
|
|
|
GtkWidget *AcceptButton;
|
|
|
|
|
|
} documentation_confirmation_window;
|
|
|
|
|
|
main_window *setup_window();
|
|
|
void main_update_processes();
|
|
|
void config_init();
|
|
|
void event_all(main_window *widgets);
|
|
|
void main_event(main_window *widgets);
|
|
|
void info_show(GtkWidget *self);
|
|
|
void main_localization(main_window *widgets);
|
|
|
void main_visible_columns();
|
|
|
void wrapper_filters_show(GtkWidget *self);
|
|
|
void main_update_dispatcher();
|
|
|
void main_update_information();
|
|
|
void main_fill_combo_box_text(GtkWidget *cbt, config_str list_data, int size);
|
|
|
void main_cbx_2_event();
|
|
|
void tree_view_select(GtkWidget *self, main_window *widgets);
|
|
|
void tree_view_add(int index);
|
|
|
int tree_view_edit();
|
|
|
void main_add_btn_save();
|
|
|
void wrapper_add_show(GtkWidget *self);
|
|
|
void main_edit_btn_save();
|
|
|
void tree_view_del_line();
|
|
|
void main_fill_tree_view_after_remove(); |