* l3afpad-0.8.18.1.5
This commit is contained in:
@@ -212,16 +212,14 @@ void on_edit_select_all(void)
|
||||
|
||||
static void activate_quick_find(void)
|
||||
{
|
||||
GtkItemFactory *ifactory;
|
||||
static gboolean flag = FALSE;
|
||||
|
||||
if (!flag) {
|
||||
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
|
||||
gtk_widget_set_sensitive(
|
||||
gtk_item_factory_get_widget(ifactory, "/M/Search/FindNext"),
|
||||
gtk_item_factory_get_widget(pub->mw->menubar, "/M/Search/FindNext"),
|
||||
TRUE);
|
||||
gtk_widget_set_sensitive(
|
||||
gtk_item_factory_get_widget(ifactory, "/M/Search/FindPrevious"),
|
||||
gtk_item_factory_get_widget(pub->mw->menubar, "/M/Search/FindPrevious"),
|
||||
TRUE);
|
||||
flag = TRUE;
|
||||
}
|
||||
@@ -261,24 +259,20 @@ void on_option_font(void)
|
||||
|
||||
void on_option_word_wrap(void)
|
||||
{
|
||||
GtkItemFactory *ifactory;
|
||||
gboolean state;
|
||||
|
||||
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
|
||||
state = gtk_check_menu_item_get_active(
|
||||
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, "/M/Options/WordWrap")));
|
||||
GTK_TOGGLE_ACTION(gtk_item_factory_get_item(pub->mw->menubar, "/M/Options/WordWrap")));
|
||||
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(pub->mw->view),
|
||||
state ? GTK_WRAP_WORD : GTK_WRAP_NONE);
|
||||
}
|
||||
|
||||
void on_option_line_numbers(void)
|
||||
{
|
||||
GtkItemFactory *ifactory;
|
||||
gboolean state;
|
||||
|
||||
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
|
||||
state = gtk_check_menu_item_get_active(
|
||||
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, "/M/Options/LineNumbers")));
|
||||
GTK_TOGGLE_ACTION(gtk_item_factory_get_item(pub->mw->menubar, "/M/Options/LineNumbers")));
|
||||
show_line_numbers(pub->mw->view, state);
|
||||
}
|
||||
|
||||
@@ -292,18 +286,16 @@ void on_option_always_on_top(void)
|
||||
|
||||
void on_option_auto_indent(void)
|
||||
{
|
||||
GtkItemFactory *ifactory;
|
||||
gboolean state;
|
||||
|
||||
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
|
||||
state = gtk_check_menu_item_get_active(
|
||||
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, "/M/Options/AutoIndent")));
|
||||
GTK_TOGGLE_ACTION(gtk_item_factory_get_item(pub->mw->menubar, "/M/Options/AutoIndent")));
|
||||
indent_set_state(state);
|
||||
}
|
||||
|
||||
void on_help_about(void)
|
||||
{
|
||||
const gchar *copyright = "Copyright \xc2\xa9 2004-2010 Tarot Osuji\nCopyright \xc2\xa9 2011 Wen-Yen Chuang";
|
||||
const gchar *copyright = "Copyright \xc2\xa9 2004-2010 Tarot Osuji\nCopyright \xc2\xa9 2011 Wen-Yen Chuang\nCopyright \xc2\xa9 2011 Jack Gandy";
|
||||
const gchar *comments = _("GTK+ based simple text editor");
|
||||
const gchar *authors[] = {
|
||||
"Tarot Osuji <tarot@sdf.lonestar.org>",
|
||||
@@ -317,6 +309,7 @@ void on_help_about(void)
|
||||
|
||||
const gchar *artists[] = {
|
||||
"Lapo Calamandrei <calamandrei@gmail.com>",
|
||||
"Jack Gandy <scionicspectre@gmail.com>",
|
||||
NULL
|
||||
};
|
||||
gtk_show_about_dialog(GTK_WINDOW(pub->mw->window),
|
||||
|
||||
@@ -56,7 +56,7 @@ static void cb_key_press_event(GtkWidget *view, GdkEventKey *event)
|
||||
case GDK_s:
|
||||
case GDK_S:
|
||||
if (GTK_WIDGET_IS_SENSITIVE(gtk_item_factory_get_widget(
|
||||
gtk_item_factory_from_widget(pub->mw->menubar), "/M/File/Save")
|
||||
pub->mw->menubar, "/M/File/Save")
|
||||
))
|
||||
on_file_save();
|
||||
break;
|
||||
@@ -106,7 +106,7 @@ static void emacs_key_prefix(void)
|
||||
{
|
||||
gulong id;
|
||||
|
||||
gtk_widget_set_sensitive(pub->mw->menubar, FALSE);
|
||||
gtk_widget_set_sensitive(GTK_WIDGET(pub->mw->menubar), FALSE);
|
||||
// gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(pub->mw->view), FALSE);
|
||||
gtk_text_view_set_editable(GTK_TEXT_VIEW(pub->mw->view), FALSE);
|
||||
/* waiting for release C-x */
|
||||
@@ -123,10 +123,10 @@ static void emacs_key_prefix(void)
|
||||
|
||||
gtk_text_view_set_editable(GTK_TEXT_VIEW(pub->mw->view), TRUE);
|
||||
// gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(pub->mw->view), TRUE);
|
||||
gtk_widget_set_sensitive(pub->mw->menubar, TRUE);
|
||||
gtk_widget_set_sensitive(GTK_WIDGET(pub->mw->menubar), TRUE);
|
||||
}
|
||||
|
||||
gboolean check_emacs_key_theme(GtkWindow *window, GtkItemFactory *ifactory)
|
||||
gboolean check_emacs_key_theme(GtkWindow *window, GtkUIManager *ifactory)
|
||||
{
|
||||
GtkAccelGroup *accel_group;
|
||||
GSList *groups;
|
||||
|
||||
@@ -60,4 +60,3 @@ void change_text_font_by_selector(GtkWidget *widget)
|
||||
g_free(fontname);
|
||||
g_free(current_fontname);
|
||||
}
|
||||
|
||||
|
||||
@@ -221,4 +221,3 @@ void indent_multi_line_unindent(GtkTextBuffer *buffer)
|
||||
gtk_text_buffer_move_mark_by_name(buffer, "insert", &end_iter);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -57,11 +57,7 @@
|
||||
#endif
|
||||
#include <gdk/gdkkeysyms-compat.h>
|
||||
|
||||
#undef GTK_CHECK_MENU_ITEM
|
||||
#define GTK_CHECK_MENU_ITEM
|
||||
#define GtkItemFactory GtkUIManager
|
||||
#define gtk_check_menu_item_get_active gtk_toggle_action_get_active
|
||||
#define gtk_item_factory_from_widget (GtkUIManager*)
|
||||
#define gtk_item_factory_get_item(x,y) GTK_TOGGLE_ACTION(gtk_ui_manager_get_action(x,y))
|
||||
#define gtk_item_factory_get_widget gtk_ui_manager_get_widget
|
||||
#define GTK_OPTION_MENU GTK_COMBO_BOX
|
||||
@@ -96,6 +92,15 @@
|
||||
#define gtk_font_selection_dialog_get_font_name gtk_font_chooser_get_font
|
||||
#define gtk_font_selection_dialog_set_font_name gtk_font_chooser_set_font
|
||||
#endif
|
||||
#if GTK_CHECK_VERSION(3,3,2)
|
||||
#undef GTK_TABLE
|
||||
#define GTK_TABLE GTK_GRID
|
||||
#define gtk_table_attach_defaults(u,v,w,x,y,z) gtk_grid_attach(u,v,w,y,1,1)
|
||||
#define gtk_table_new(x, y, z) gtk_grid_new()
|
||||
#define gtk_table_set_col_spacing(x,y,z) gtk_grid_set_column_spacing(x,z)
|
||||
#define gtk_table_set_col_spacings gtk_grid_set_column_spacing
|
||||
#define gtk_table_set_row_spacings gtk_grid_set_row_spacing
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
FileInfo *fi;
|
||||
|
||||
@@ -55,9 +55,6 @@ get_lines (GtkTextView *text_view,
|
||||
{
|
||||
GtkTextIter iter;
|
||||
gint count;
|
||||
#if 0
|
||||
gint size;
|
||||
#endif
|
||||
gint last_line_num;
|
||||
|
||||
g_array_set_size (buffer_coords, 0);
|
||||
@@ -70,9 +67,6 @@ get_lines (GtkTextView *text_view,
|
||||
* Stop when we pass y2
|
||||
*/
|
||||
count = 0;
|
||||
#if 0
|
||||
size = 0;
|
||||
#endif
|
||||
|
||||
while (!gtk_text_iter_is_end (&iter))
|
||||
{
|
||||
@@ -115,7 +109,6 @@ static gint
|
||||
line_numbers_expose (GtkWidget *widget, cairo_t *event)
|
||||
{
|
||||
GtkTextView *text_view;
|
||||
// GtkStyle *style;
|
||||
PangoLayout *layout;
|
||||
PangoAttrList *alist;
|
||||
PangoAttribute *attr;
|
||||
@@ -126,36 +119,16 @@ line_numbers_expose (GtkWidget *widget, cairo_t *event)
|
||||
gint layout_width;
|
||||
gint justify_width = 0;
|
||||
gint i;
|
||||
// gchar *str;
|
||||
gchar str [8]; /* we don't expect more than ten million lines */
|
||||
#if 0
|
||||
cairo_t *gc;
|
||||
gint height;
|
||||
#endif
|
||||
|
||||
if (line_number_visible){{{{{ // omit calculation
|
||||
if (line_number_visible) {
|
||||
|
||||
text_view = GTK_TEXT_VIEW (widget);
|
||||
|
||||
/* See if this expose is on the line numbers window */
|
||||
/* left_win = gtk_text_view_get_window (text_view,
|
||||
GTK_TEXT_WINDOW_LEFT);
|
||||
right_win = gtk_text_view_get_window (text_view,
|
||||
GTK_TEXT_WINDOW_RIGHT);
|
||||
|
||||
if (event->window == left_win)
|
||||
{
|
||||
type = GTK_TEXT_WINDOW_LEFT;
|
||||
target = event->window;
|
||||
}
|
||||
else if (event->window == right_win)
|
||||
{
|
||||
type = GTK_TEXT_WINDOW_RIGHT;
|
||||
target = right_win;
|
||||
}
|
||||
else
|
||||
return FALSE;
|
||||
*/
|
||||
#if 0
|
||||
GdkWindow *win;
|
||||
win = gtk_text_view_get_window (text_view,
|
||||
@@ -163,9 +136,6 @@ line_numbers_expose (GtkWidget *widget, cairo_t *event)
|
||||
if (event->window != win)
|
||||
return FALSE;
|
||||
|
||||
// style = gtk_style_copy (widget->style);
|
||||
// style = gtk_style_copy (gtk_widget_get_default_style());
|
||||
|
||||
y1 = event->area.y;
|
||||
y2 = y1 + event->area.height;
|
||||
#endif
|
||||
@@ -197,8 +167,7 @@ line_numbers_expose (GtkWidget *widget, cairo_t *event)
|
||||
/* a zero-lined document should display a "1"; we don't need to worry about
|
||||
scrolling effects of the text widget in this special case */
|
||||
|
||||
if (count == 0)
|
||||
{
|
||||
if (count == 0) {
|
||||
gint y = 0;
|
||||
gint n = 0;
|
||||
count = 1;
|
||||
@@ -212,11 +181,9 @@ DV({g_print("Painting line numbers %d - %d\n",
|
||||
|
||||
layout = gtk_widget_create_pango_layout (widget, "");
|
||||
|
||||
// str = g_strdup_printf ("%d", gtk_text_buffer_get_line_count(text_view->buffer));
|
||||
g_snprintf (str, sizeof (str),
|
||||
"%d", MAX (99, gtk_text_buffer_get_line_count(gtk_text_view_get_buffer(text_view))));
|
||||
pango_layout_set_text (layout, str, -1);
|
||||
// g_free (str);
|
||||
|
||||
pango_layout_get_pixel_size (layout, &layout_width, NULL);
|
||||
|
||||
@@ -225,10 +192,8 @@ DV({g_print("Painting line numbers %d - %d\n",
|
||||
gtk_text_view_set_border_window_size (text_view,
|
||||
GTK_TEXT_WINDOW_LEFT, layout_width + margin + submargin);
|
||||
else {
|
||||
// if ((gtk_text_view_get_border_window_size (text_view, GTK_TEXT_WINDOW_LEFT) - 5) > layout_width) {
|
||||
gtk_text_view_set_border_window_size (text_view,
|
||||
GTK_TEXT_WINDOW_LEFT, min_number_window_width + margin + submargin);
|
||||
// }
|
||||
gtk_text_view_set_border_window_size (text_view,
|
||||
GTK_TEXT_WINDOW_LEFT, min_number_window_width + margin + submargin);
|
||||
justify_width = min_number_window_width - layout_width;
|
||||
}
|
||||
|
||||
@@ -255,8 +220,7 @@ DV({g_print("Painting line numbers %d - %d\n",
|
||||
/* Draw fully internationalized numbers! */
|
||||
|
||||
i = 0;
|
||||
while (i < count)
|
||||
{
|
||||
while (i < count) {
|
||||
gint pos;
|
||||
|
||||
gtk_text_view_buffer_to_window_coords (text_view,
|
||||
@@ -265,8 +229,6 @@ DV({g_print("Painting line numbers %d - %d\n",
|
||||
g_array_index (pixels, gint, i),
|
||||
NULL,
|
||||
&pos);
|
||||
|
||||
// str = g_strdup_printf ("%d", g_array_index (numbers, gint, i) + 1);
|
||||
g_snprintf (str, sizeof (str),
|
||||
"%d", g_array_index (numbers, gint, i) + 1);
|
||||
|
||||
@@ -277,20 +239,13 @@ DV({g_print("Painting line numbers %d - %d\n",
|
||||
layout_width + justify_width + margin / 2 + 1,
|
||||
pos,
|
||||
layout);
|
||||
// g_free (str);
|
||||
|
||||
++i;
|
||||
}
|
||||
|
||||
g_array_free (pixels, TRUE);
|
||||
g_array_free (numbers, TRUE);
|
||||
|
||||
g_object_unref (G_OBJECT (layout));
|
||||
// g_object_ref (G_OBJECT (style));
|
||||
|
||||
/* don't stop emission, need to draw children */
|
||||
|
||||
}}}}}
|
||||
}
|
||||
|
||||
#if 0
|
||||
gc = gdk_gc_new(event->window);
|
||||
@@ -334,35 +289,3 @@ void linenum_init(GtkWidget *text_view)
|
||||
NULL);
|
||||
show_line_numbers(text_view, FALSE);
|
||||
}
|
||||
/*
|
||||
static void show_line_numbers(GtkWidget *text_view, gboolean visible)
|
||||
{
|
||||
gtk_text_view_set_border_window_size(
|
||||
GTK_TEXT_VIEW(text_view),
|
||||
GTK_TEXT_WINDOW_LEFT,
|
||||
submargin);
|
||||
if (visible) {
|
||||
min_number_window_width = calculate_min_number_window_width(text_view);
|
||||
// gtk_text_view_set_border_window_size(
|
||||
// GTK_TEXT_VIEW(text_view),
|
||||
// GTK_TEXT_WINDOW_LEFT,
|
||||
// min_number_window_width + margin + submargin);
|
||||
// submargin);
|
||||
g_signal_connect(
|
||||
G_OBJECT(text_view),
|
||||
"draw",
|
||||
G_CALLBACK(line_numbers_expose),
|
||||
NULL);
|
||||
} else {
|
||||
// gtk_text_view_set_border_window_size(
|
||||
// GTK_TEXT_VIEW(text_view),
|
||||
// GTK_TEXT_WINDOW_LEFT,
|
||||
// 0);
|
||||
// submargin);
|
||||
g_signal_handlers_disconnect_by_func(
|
||||
G_OBJECT(text_view),
|
||||
G_CALLBACK(line_numbers_expose),
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
22
src/main.c
22
src/main.c
@@ -72,22 +72,20 @@ void save_config_file(void)
|
||||
{
|
||||
FILE *fp;
|
||||
gchar *path;
|
||||
GtkItemFactory *ifactory;
|
||||
gint width, height;
|
||||
gchar *fontname;
|
||||
gboolean wordwrap, linenumbers, autoindent;
|
||||
|
||||
gtk_window_get_size(GTK_WINDOW(pub->mw->window), &width, &height);
|
||||
fontname = pango_font_description_to_string(gtk_style_context_get_font(gtk_widget_get_style_context(pub->mw->view), 0));
|
||||
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
|
||||
wordwrap = gtk_check_menu_item_get_active(
|
||||
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory,
|
||||
GTK_TOGGLE_ACTION(gtk_item_factory_get_item(pub->mw->menubar,
|
||||
"/M/Options/WordWrap")));
|
||||
linenumbers = gtk_check_menu_item_get_active(
|
||||
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory,
|
||||
GTK_TOGGLE_ACTION(gtk_item_factory_get_item(pub->mw->menubar,
|
||||
"/M/Options/LineNumbers")));
|
||||
autoindent = gtk_check_menu_item_get_active(
|
||||
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory,
|
||||
GTK_TOGGLE_ACTION(gtk_item_factory_get_item(pub->mw->menubar,
|
||||
"/M/Options/AutoIndent")));
|
||||
|
||||
path = g_build_filename(g_get_user_config_dir(), PACKAGE, NULL);
|
||||
@@ -187,7 +185,6 @@ static void parse_args(gint argc, gchar **argv, FileInfo *fi)
|
||||
gint main(gint argc, gchar **argv)
|
||||
{
|
||||
Conf *conf;
|
||||
GtkItemFactory *ifactory;
|
||||
gchar *stdin_data = NULL;
|
||||
|
||||
bindtextdomain(PACKAGE, LOCALEDIR);
|
||||
@@ -226,16 +223,15 @@ gint main(gint argc, gchar **argv)
|
||||
GTK_WINDOW(pub->mw->window), conf->width, conf->height);
|
||||
set_text_font_by_name(pub->mw->view, conf->fontname);
|
||||
|
||||
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
|
||||
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(
|
||||
(GtkCheckMenuItem*)gtk_item_factory_get_widget(ifactory, "/M/Options/WordWrap")),
|
||||
gtk_item_factory_get_widget(pub->mw->menubar, "/M/Options/WordWrap")),
|
||||
conf->wordwrap);
|
||||
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(
|
||||
(GtkCheckMenuItem*)gtk_item_factory_get_widget(ifactory, "/M/Options/LineNumbers")),
|
||||
gtk_item_factory_get_widget(pub->mw->menubar, "/M/Options/LineNumbers")),
|
||||
conf->linenumbers);
|
||||
indent_refresh_tab_width(pub->mw->view);
|
||||
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(
|
||||
(GtkCheckMenuItem*)gtk_item_factory_get_widget(ifactory, "/M/Options/AutoIndent")),
|
||||
gtk_item_factory_get_widget(pub->mw->menubar, "/M/Options/AutoIndent")),
|
||||
conf->autoindent);
|
||||
|
||||
gtk_widget_show_all(pub->mw->window);
|
||||
@@ -243,13 +239,13 @@ gint main(gint argc, gchar **argv)
|
||||
g_free(conf);
|
||||
|
||||
#if ENABLE_EMACS
|
||||
check_emacs_key_theme(GTK_WINDOW(pub->mw->window), ifactory);
|
||||
check_emacs_key_theme(GTK_WINDOW(pub->mw->window), pub->mw->menubar);
|
||||
#endif
|
||||
|
||||
hlight_init(pub->mw->buffer);
|
||||
undo_init(pub->mw->view,
|
||||
gtk_item_factory_get_widget(ifactory, "/M/Edit/Undo"),
|
||||
gtk_item_factory_get_widget(ifactory, "/M/Edit/Redo"));
|
||||
gtk_item_factory_get_widget(pub->mw->menubar, "/M/Edit/Undo"),
|
||||
gtk_item_factory_get_widget(pub->mw->menubar, "/M/Edit/Redo"));
|
||||
// hlight_init(pub->mw->buffer);
|
||||
dnd_init(pub->mw->view);
|
||||
|
||||
|
||||
12
src/menu.c
12
src/menu.c
@@ -121,11 +121,7 @@ static const gchar *ui_info =
|
||||
|
||||
static gchar *menu_translate(const gchar *path, gpointer data)
|
||||
{
|
||||
gchar *str;
|
||||
|
||||
str = (gchar *)_(path);
|
||||
|
||||
return str;
|
||||
return _(path);
|
||||
}
|
||||
|
||||
void menu_sensitivity_from_modified_flag(gboolean is_text_modified)
|
||||
@@ -149,9 +145,9 @@ void menu_sensitivity_from_clipboard(void)
|
||||
gtk_clipboard_get(GDK_SELECTION_CLIPBOARD)));
|
||||
}
|
||||
|
||||
GtkWidget *create_menu_bar(GtkWidget *window)
|
||||
GtkUIManager *create_menu_bar(GtkWidget *window)
|
||||
{
|
||||
GtkItemFactory *ifactory;
|
||||
GtkUIManager *ifactory;
|
||||
#if 0
|
||||
gboolean flag_emacs = FALSE;
|
||||
|
||||
@@ -212,5 +208,5 @@ GtkWidget *create_menu_bar(GtkWidget *window)
|
||||
menu_item_delete = gtk_item_factory_get_widget(ifactory, "/M/Edit/Delete");
|
||||
menu_sensitivity_from_selection_bound(FALSE);
|
||||
|
||||
return (GtkWidget*)ifactory;
|
||||
return ifactory;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,6 @@ void menu_sensitivity_from_modified_flag(gboolean is_text_modified);
|
||||
void menu_sensitivity_from_selection_bound(gboolean is_bound_exist);
|
||||
//void menu_sensitivity_from_clipboard(gboolean is_clipboard_exist);
|
||||
void menu_sensitivity_from_clipboard(void);
|
||||
GtkWidget *create_menu_bar(GtkWidget *window);
|
||||
GtkUIManager *create_menu_bar(GtkWidget *window);
|
||||
|
||||
#endif /* _MENU_H */
|
||||
|
||||
@@ -405,7 +405,7 @@ void run_dialog_jump_to(GtkWidget *textview)
|
||||
gtk_container_set_border_width (GTK_CONTAINER(table), 8);
|
||||
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), table, FALSE, FALSE, 0);
|
||||
label = gtk_label_new_with_mnemonic(_("_Line number:"));
|
||||
spinner_adj = (GtkAdjustment *) gtk_adjustment_new(num, 1, max_num, 1, 1, 0);
|
||||
spinner_adj = gtk_adjustment_new(num, 1, max_num, 1, 1, 0);
|
||||
spinner = gtk_spin_button_new(spinner_adj, 1, 0);
|
||||
gtk_entry_set_width_chars(GTK_ENTRY(spinner), 8);
|
||||
gtk_label_set_mnemonic_widget(GTK_LABEL(label), spinner);
|
||||
|
||||
40
src/window.c
40
src/window.c
@@ -26,34 +26,28 @@ static void cb_scroll_event(GtkAdjustment *adj, GtkWidget *view)
|
||||
*/
|
||||
MainWin *create_main_window(void)
|
||||
{
|
||||
GtkWidget *window;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *menubar;
|
||||
GtkWidget *sw;
|
||||
GtkWidget *view;
|
||||
// gint size;
|
||||
// GtkAdjustment *hadj, *vadj;
|
||||
|
||||
MainWin *mw = g_malloc(sizeof(MainWin));
|
||||
|
||||
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||
// gtk_window_set_title(GTK_WINDOW(window), PACKAGE_NAME);
|
||||
gtk_widget_set_name(window, PACKAGE_NAME);
|
||||
mw->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||
gtk_widget_set_name(mw->window, PACKAGE_NAME);
|
||||
|
||||
gtk_window_set_icon_from_file(GTK_WINDOW(window), ICONDIR"/l3afpad.png", NULL);
|
||||
gtk_window_set_icon_from_file(GTK_WINDOW(mw->window), ICONDIR"/l3afpad.png", NULL);
|
||||
gtk_window_set_default_icon_name(PACKAGE);
|
||||
|
||||
g_signal_connect(G_OBJECT(window), "delete-event",
|
||||
g_signal_connect(G_OBJECT(mw->window), "delete-event",
|
||||
G_CALLBACK(on_file_quit), NULL);
|
||||
g_signal_connect_after(G_OBJECT(window), "delete-event",
|
||||
g_signal_connect_after(G_OBJECT(mw->window), "delete-event",
|
||||
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
|
||||
|
||||
vbox = gtk_vbox_new(FALSE, 0);
|
||||
gtk_orientable_set_orientation(GTK_ORIENTABLE(vbox), GTK_ORIENTATION_VERTICAL);
|
||||
gtk_container_add(GTK_CONTAINER(window), vbox);
|
||||
gtk_container_add(GTK_CONTAINER(mw->window), vbox);
|
||||
|
||||
menubar = create_menu_bar(window);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), gtk_item_factory_get_widget(GTK_UI_MANAGER(menubar), "/M"), FALSE, FALSE, 0);
|
||||
mw->menubar = create_menu_bar(mw->window);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), gtk_item_factory_get_widget(mw->menubar, "/M"), FALSE, FALSE, 0);
|
||||
|
||||
sw = gtk_scrolled_window_new(NULL, NULL);
|
||||
gtk_widget_set_hexpand (sw, TRUE);
|
||||
@@ -64,20 +58,9 @@ MainWin *create_main_window(void)
|
||||
GTK_SHADOW_IN);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
|
||||
|
||||
view = create_text_view();
|
||||
gtk_container_add(GTK_CONTAINER(sw), view);
|
||||
/*
|
||||
hadj = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(sw));
|
||||
vadj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sw));
|
||||
g_signal_connect_after(G_OBJECT(hadj), "value-changed",
|
||||
G_CALLBACK(cb_scroll_event), view);
|
||||
g_signal_connect_after(G_OBJECT(vadj), "value-changed",
|
||||
G_CALLBACK(cb_scroll_event), view);
|
||||
*/
|
||||
mw->window = window;
|
||||
mw->menubar = menubar;
|
||||
mw->view = view;
|
||||
mw->buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
|
||||
mw->view = create_text_view();
|
||||
gtk_container_add(GTK_CONTAINER(sw), mw->view);
|
||||
mw->buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(mw->view));
|
||||
|
||||
return mw;
|
||||
}
|
||||
@@ -90,4 +73,3 @@ void set_main_window_title(void)
|
||||
gtk_window_set_title(GTK_WINDOW(pub->mw->window), title);
|
||||
g_free(title);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
typedef struct {
|
||||
GtkWidget *window;
|
||||
GtkWidget *menubar;
|
||||
GtkUIManager *menubar;
|
||||
GtkWidget *view;
|
||||
GtkTextBuffer *buffer;
|
||||
} MainWin;
|
||||
|
||||
Reference in New Issue
Block a user