|
|
#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 <sys/types.h>
|
|
|
#include <fcntl.h>
|
|
|
#include "../compile/ubl-cmake.h"
|
|
|
#ifdef WEBKIT_FOUND
|
|
|
#include <webkit2/webkit2.h>
|
|
|
#endif
|
|
|
#include "ubl-strings.h"
|
|
|
|
|
|
#define WIKI_LINK "https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-repomanager"
|
|
|
|
|
|
#define _(String) gettext(String)
|
|
|
|
|
|
#define glade_path "/com/ublinux/ui/ubl-settings-repomanager.glade"
|
|
|
#define glade_repo_path "/com/ublinux/ui/ubl-settings-repomanager-windows.glade"
|
|
|
#define banner_path "/com/ublinux/images/ubl-settings-repomanager-banner.png"
|
|
|
#define CssPath "/com/ublinux/css/ubl-settings-repomanager.css"
|
|
|
#define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL)
|
|
|
|
|
|
#define LocalePath "/usr/share/locale"
|
|
|
#define LocaleName "ubl-settings-repomanager"
|
|
|
typedef char* string;
|
|
|
|
|
|
#define get_package_info_command(filename) yon_char_unite("LC_ALL=EN pacman -Q --info --file ",filename," |grep -E \"Name|Version|Architecture\" |sed -e 's/ *//g'",NULL)
|
|
|
string version_application;
|
|
|
|
|
|
char *local;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkTreeStore *tree_store;
|
|
|
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;
|
|
|
} config;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
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;
|
|
|
|
|
|
GtkWidget *GeneralTabLabel;
|
|
|
GtkWidget *PublicationTabLabel;
|
|
|
GtkWidget *CreateButton;
|
|
|
GtkWidget *LoadFromNetButton;
|
|
|
GtkWidget *ConfigureButton;
|
|
|
GtkWidget *DeleteButton;
|
|
|
GtkWidget *LoadFromLocalButton;
|
|
|
GtkWidget *SwitchPublishButton;
|
|
|
GtkWidget *CheckDependencesButton;
|
|
|
GtkWidget *SignButton;
|
|
|
GtkWidget *AddPackageButton;
|
|
|
GtkWidget *RemovePackageButton;
|
|
|
GtkWidget *RepoTree;
|
|
|
GtkWidget *TrustedRepoCheck;
|
|
|
GtkWidget *ServerTypeLabel;
|
|
|
GtkWidget *ServerTypeCombo;
|
|
|
GtkWidget *IpAdressLabel;
|
|
|
GtkWidget *IpAdressCombo;
|
|
|
GtkWidget *PortLabel;
|
|
|
GtkWidget *PortSpin;
|
|
|
GtkWidget *OutputEntry;
|
|
|
GtkWidget *CopyButton;
|
|
|
GtkWidget *PublishButton;
|
|
|
GtkWidget *CodeNameLabel;
|
|
|
GtkWidget *CodeNameInfoLabel;
|
|
|
GtkWidget *BranchLabel;
|
|
|
GtkWidget *BranchInfoLabel;
|
|
|
GtkWidget *VersionLabel;
|
|
|
GtkWidget *VersionInfoLabel;
|
|
|
GtkWidget *ArchitectureLabel;
|
|
|
GtkWidget *ArchitectureInfoLabel;
|
|
|
GtkWidget *ComponentsLabel;
|
|
|
GtkWidget *ComponentsInfoLabel;
|
|
|
GtkWidget *SignatureLabel;
|
|
|
GtkWidget *SignatureInfoLabel;
|
|
|
GtkWidget *Finder;
|
|
|
GtkWidget *SaveButton;
|
|
|
} main_window;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
GtkWidget *NameEntry;
|
|
|
GtkWidget *BranchesTree;
|
|
|
GtkWidget *CancelButton;
|
|
|
GtkWidget *SaveButton;
|
|
|
GtkCellRenderer *BranchCell;
|
|
|
GtkWidget *repoChooseFolderButton;
|
|
|
|
|
|
GtkListStore *BranchesListStore;
|
|
|
GtkWidget *PathLabel;
|
|
|
char *path;
|
|
|
} repo_create_window;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
|
|
|
GtkWidget *HatText;
|
|
|
GtkWidget *HeaderText;
|
|
|
GtkWidget *InfoText;
|
|
|
GtkWidget *AlwaysOpenCheck;
|
|
|
|
|
|
GtkWidget *CloseButton;
|
|
|
GtkWidget *AcceptButton;
|
|
|
} documentation_confirmation_window;
|
|
|
|
|
|
typedef enum {
|
|
|
YON_REPO_LINE_REPO_TYPE,
|
|
|
YON_REPO_LINE_FILE_TYPE,
|
|
|
YON_REPO_LINE_BRANCH_TYPE
|
|
|
} YON_REPO_LINE_TYPE;
|
|
|
|
|
|
main_window *setup_window();
|
|
|
void yon_add_file(main_window *widgets);
|
|
|
GtkTreeIter *yon_repo_append(main_window *widgets, char *name, YON_REPO_LINE_TYPE type);
|
|
|
void yon_repo_remove_package(main_window *widgets);
|
|
|
void yon_repo_remove(main_window *widgets);
|
|
|
void on_repo_configure_done(GtkWidget *self, dictionary *dict); |