Merge pull request 'master' (#121) from YanTheKaller/ubl-settings-update:master into master
Reviewed-on: #121pull/140/head^2 v2.19
commit
b63c6657d7
@ -0,0 +1,191 @@
|
||||
#include "ubl-settings-update.h"
|
||||
|
||||
|
||||
void on_ftp_accept(GtkWidget *, ftp_window *window){
|
||||
main_window *widgets = g_object_get_data(G_OBJECT(window->AcceptButton),"main_window");
|
||||
GtkTreeIter iter;
|
||||
const char *storage_path = gtk_entry_get_text(GTK_ENTRY(window->StorageEntry));
|
||||
if (yon_char_is_empty(storage_path)){
|
||||
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
||||
yon_ubl_status_highlight_incorrect(window->StorageEntry);
|
||||
return;
|
||||
}
|
||||
char *port = NULL;
|
||||
gboolean enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->EnableCheck));
|
||||
const char *user = NULL;
|
||||
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->PortCheck))){
|
||||
port = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->PortSpin)));
|
||||
}
|
||||
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->AnonUserCheck))){
|
||||
user = gtk_entry_get_text(GTK_ENTRY(window->AnonUserEntry));
|
||||
if (yon_char_is_empty(user)){
|
||||
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
||||
yon_ubl_status_highlight_incorrect(window->AnonUserEntry);
|
||||
return;
|
||||
}
|
||||
}
|
||||
char *repos = NULL;
|
||||
for_iter(window->ReposList,&iter){
|
||||
int active;
|
||||
char *target;
|
||||
gtk_tree_model_get(GTK_TREE_MODEL(window->ReposList),&iter,0,&active,1,&target,-1);
|
||||
if (active){
|
||||
char *temp = yon_char_append_element(repos,target,",");
|
||||
if (!yon_char_is_empty(repos)) free(repos);
|
||||
repos = temp;
|
||||
}
|
||||
}
|
||||
if (yon_char_is_empty(repos)){
|
||||
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
||||
yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(window->ReposTree));
|
||||
return;
|
||||
}
|
||||
|
||||
char *id_string = yon_char_unite(storage_path,":",repos,NULL);
|
||||
int size;
|
||||
config_str parameters = yon_char_parsed_new(&size,enable? "yes":"no",
|
||||
yon_char_return_if_exist(port,""),
|
||||
yon_char_return_if_exist(user,""),
|
||||
NULL);
|
||||
char *parameter_string = yon_char_parsed_to_string(parameters,size,":");
|
||||
|
||||
char *parameter_name = REPOPUBLIC_FTP(id_string);
|
||||
char *parameter_command = REPOPUBLIC_FTP_command(id_string);
|
||||
if (!yon_char_is_empty(window->prev_key)&&strcmp(id_string,window->prev_key)){
|
||||
char *old_parameter = REPOPUBLIC_FTP(window->prev_key);
|
||||
yon_config_remove_by_key(old_parameter);
|
||||
free(old_parameter);
|
||||
}
|
||||
yon_config_register(parameter_name,parameter_command,parameter_string);
|
||||
free(window->prev_key);
|
||||
free(id_string);
|
||||
free(parameter_string);
|
||||
free(parameter_name);
|
||||
free(parameter_command);
|
||||
if (!yon_char_is_empty(port)) free(port);
|
||||
if (!yon_char_is_empty(repos)) free(repos);
|
||||
on_subwindow_close(window->Window);
|
||||
free(window);
|
||||
yon_interface_update(widgets);
|
||||
}
|
||||
|
||||
void on_anon_user_select(GtkWidget *, ftp_window *window){
|
||||
unsigned int size;
|
||||
config_str users = yon_users_window_select(YON_USER_WINDOW_USERS,&size);
|
||||
if (size){
|
||||
char *users_string = yon_char_parsed_to_string(users,size," ");
|
||||
gtk_entry_set_text(GTK_ENTRY(window->AnonUserEntry),users_string);
|
||||
free(users_string);
|
||||
yon_char_parsed_free(users,size);
|
||||
}
|
||||
}
|
||||
|
||||
ftp_window *yon_ftp_window_new(){
|
||||
ftp_window *window = malloc(sizeof(ftp_window));
|
||||
memset(window,0,sizeof(ftp_window));
|
||||
|
||||
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ftp);
|
||||
|
||||
window->Window = yon_gtk_builder_get_widget(builder,"Window");
|
||||
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
|
||||
window->EnableCheck = yon_gtk_builder_get_widget(builder,"EnableCheck");
|
||||
window->StorageEntry = yon_gtk_builder_get_widget(builder,"StorageEntry");
|
||||
window->StorageButton = yon_gtk_builder_get_widget(builder,"StorageButton");
|
||||
window->ReposTree = yon_gtk_builder_get_widget(builder,"ReposTree");
|
||||
window->PortCheck = yon_gtk_builder_get_widget(builder,"PortCheck");
|
||||
window->PortSpin = yon_gtk_builder_get_widget(builder,"PortSpin");
|
||||
window->AnonUserCheck = yon_gtk_builder_get_widget(builder,"AnonUserCheck");
|
||||
window->AnonUserEntry = yon_gtk_builder_get_widget(builder,"AnonUserEntry");
|
||||
window->AnonUserButton = yon_gtk_builder_get_widget(builder,"AnonUserButton");
|
||||
window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
|
||||
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
|
||||
window->ReposList = GTK_LIST_STORE(gtk_builder_get_object(builder,"ReposList"));
|
||||
window->SelectionCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"SelectionCell"));
|
||||
|
||||
g_signal_connect(G_OBJECT(window->SelectionCell),"toggled",G_CALLBACK(on_cell_renderer_toggle_toggled),window->ReposTree);
|
||||
g_signal_connect(G_OBJECT(window->StorageButton),"clicked",G_CALLBACK(on_file_chooser_open),window->StorageEntry);
|
||||
g_signal_connect(G_OBJECT(window->StorageEntry),"changed",G_CALLBACK(on_web_publish_path_changed),window);
|
||||
g_signal_connect(G_OBJECT(window->PortCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),window->PortSpin);
|
||||
g_signal_connect(G_OBJECT(window->AnonUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),window->AnonUserEntry);
|
||||
g_signal_connect(G_OBJECT(window->AnonUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),window->AnonUserButton);
|
||||
g_signal_connect(G_OBJECT(window->AnonUserButton),"clicked",G_CALLBACK(on_anon_user_select),window);
|
||||
|
||||
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_ftp_accept),window);
|
||||
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
||||
|
||||
return window;
|
||||
}
|
||||
|
||||
void yon_ftp_window_add(GtkWidget *, main_window *widgets){
|
||||
ftp_window *window = yon_ftp_window_new();
|
||||
g_object_set_data(G_OBJECT(window->AcceptButton),"main_window",widgets);
|
||||
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),NULL,icon_path,"ftp_window");
|
||||
|
||||
}
|
||||
|
||||
void yon_ftp_window_edit(GtkWidget *, main_window *widgets){
|
||||
GtkTreeModel *model;
|
||||
GtkTreeIter iter;
|
||||
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->FtpTree)),&model,&iter)){
|
||||
ftp_window *window = yon_ftp_window_new();
|
||||
g_object_set_data(G_OBJECT(window->AcceptButton),"main_window",widgets);
|
||||
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),NULL,icon_path,"ftp_window");
|
||||
char *storage;
|
||||
char *repos;
|
||||
gtk_tree_model_get(model,&iter,1,&storage,2,&repos,-1);
|
||||
char *repos_replaced = yon_char_replace(repos,"\n",",");
|
||||
char *parameter_key = yon_char_unite(storage,":",repos_replaced,NULL);
|
||||
window->prev_key = yon_char_new(parameter_key);
|
||||
char *parameter_name = REPOPUBLIC_FTP(parameter_key);
|
||||
char *parameter = config(parameter_name);
|
||||
if (parameter){
|
||||
int size;
|
||||
config_str parsed = yon_char_parse(parameter,&size,":");
|
||||
if (size>0&&!yon_char_is_empty(parsed[0])){
|
||||
if (!strcmp(parsed[0],"enabled")||!strcmp(parsed[0],"yes")){
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->EnableCheck),1);
|
||||
}
|
||||
}
|
||||
if (size>1&&!yon_char_is_empty(parsed[1])){
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->PortCheck),1);
|
||||
gtk_adjustment_set_value(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->PortSpin)),atol(parsed[1]));
|
||||
}
|
||||
if (size>2&&!yon_char_is_empty(parsed[2])){
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->AnonUserCheck),1);
|
||||
gtk_entry_set_text(GTK_ENTRY(window->AnonUserEntry),parsed[2]);
|
||||
}
|
||||
}
|
||||
gtk_entry_set_text(GTK_ENTRY(window->StorageEntry),storage);
|
||||
for_iter (window->ReposList,&iter){
|
||||
char *target;
|
||||
gtk_tree_model_get(GTK_TREE_MODEL(window->ReposList),&iter,1,&target,-1);
|
||||
if (yon_char_check_element(repos_replaced,target,",")){
|
||||
gtk_list_store_set(window->ReposList,&iter,0,1,-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void on_ftp_remove(GtkWidget *,main_window *widgets){
|
||||
GtkTreeModel *model;
|
||||
GtkTreeIter iter;
|
||||
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->FtpTree)),&model,&iter)){
|
||||
dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
|
||||
data->title = REMOVE_FTP_TITLE_LABEL;
|
||||
data->action_text = REMOVE_REPO_WARNING_LABEL;
|
||||
if (yon_confirmation_dialog_call(widgets->Window,data)!=GTK_RESPONSE_CANCEL){
|
||||
char *storage;
|
||||
char *repos;
|
||||
gtk_tree_model_get(model,&iter,1,&storage,2,&repos,-1);
|
||||
char *repos_replaced = yon_char_replace(repos,"\n",",");
|
||||
char *parameter_key = yon_char_unite(storage,":",repos_replaced,NULL);
|
||||
char *parameter = REPOPUBLIC_FTP(parameter_key);
|
||||
yon_config_remove_by_key(parameter);
|
||||
free(parameter);
|
||||
free(parameter_key);
|
||||
free(repos_replaced);
|
||||
yon_interface_update(widgets);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,367 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.40.0 -->
|
||||
<interface domain="ubl-settings-update">
|
||||
<requires lib="gtk+" version="3.24"/>
|
||||
<!-- interface-css-provider-path ubl-settings-update.css -->
|
||||
<object class="GtkListStore" id="ReposList">
|
||||
<columns>
|
||||
<!-- column-name Enabled -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name RepoName -->
|
||||
<column type="gchararray"/>
|
||||
</columns>
|
||||
</object>
|
||||
<object class="GtkAdjustment" id="adjustment1">
|
||||
<property name="upper">65535</property>
|
||||
<property name="value">8080</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="image1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.accept-symbolic</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="image2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-uncolored-symbolic</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="image3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.zoom-symbolic</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="image4">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.avatar-symbolic</property>
|
||||
</object>
|
||||
<object class="GtkWindow" id="Window">
|
||||
<property name="width-request">450</property>
|
||||
<property name="height-request">350</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="window-position">center-on-parent</property>
|
||||
<property name="icon-name">com.ublinux.ubl-settings-update</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="StatusBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">5</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</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="margin-start">5</property>
|
||||
<property name="margin-end">5</property>
|
||||
<property name="margin-bottom">5</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">5</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="EnableCheck">
|
||||
<property name="label" translatable="yes">Enable publishing of a local repository and as a FTP resource</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="spacing">5</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Storage:</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="StorageEntry">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="StorageButton">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
<property name="tooltip-text" translatable="yes">Open file explorer</property>
|
||||
<property name="image">image3</property>
|
||||
<style>
|
||||
<class name="thin"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</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="GtkTreeView" id="ReposTree">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="model">ReposList</property>
|
||||
<property name="search-column">1</property>
|
||||
<property name="enable-grid-lines">both</property>
|
||||
<child internal-child="selection">
|
||||
<object class="GtkTreeSelection"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn">
|
||||
<property name="title" translatable="yes">Chosen</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="SelectionCell"/>
|
||||
<attributes>
|
||||
<attribute name="active">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn">
|
||||
<property name="title" translatable="yes">Repository name</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText"/>
|
||||
<attributes>
|
||||
<attribute name="text">1</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="spacing">5</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Port:</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="PortCheck">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSpinButton" id="PortSpin">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="adjustment">adjustment1</property>
|
||||
<property name="value">8080</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="spacing">5</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Anonymous user:</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="AnonUserCheck">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="AnonUserEntry">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can-focus">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="AnonUserButton">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
<property name="tooltip-text" translatable="yes">Open user list</property>
|
||||
<property name="image">image4</property>
|
||||
<style>
|
||||
<class name="thin"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="titlebar">
|
||||
<object class="GtkHeaderBar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="spacing">5</property>
|
||||
<child type="title">
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</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-bottom">2</property>
|
||||
<property name="label" translatable="yes">Add repository for publication</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="CancelButton">
|
||||
<property name="label" translatable="yes">Cancel</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
<property name="image">image2</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="AcceptButton">
|
||||
<property name="label" translatable="yes">Accept</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
<property name="image">image1</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
Loading…
Reference in new issue