aboutsummaryrefslogtreecommitdiffstats
path: root/ui/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'ui/gtk')
-rw-r--r--ui/gtk/text_page_utils.c107
-rw-r--r--ui/gtk/text_page_utils.h13
2 files changed, 73 insertions, 47 deletions
diff --git a/ui/gtk/text_page_utils.c b/ui/gtk/text_page_utils.c
index f65225f6a9..fd0be5feef 100644
--- a/ui/gtk/text_page_utils.c
+++ b/ui/gtk/text_page_utils.c
@@ -52,36 +52,36 @@ static void text_page_set_text(GtkWidget *page, const char *absolute_path);
*/
GtkWidget * text_page_new(const char *absolute_path)
{
- GtkWidget *page_vb, *txt_scrollw, *txt;
+ GtkWidget *page_vb, *txt_scrollw, *txt;
- page_vb =ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 0, FALSE);
- gtk_container_set_border_width(GTK_CONTAINER(page_vb), 1);
- txt_scrollw = scrolled_window_new(NULL, NULL);
+ page_vb =ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 0, FALSE);
+ gtk_container_set_border_width(GTK_CONTAINER(page_vb), 1);
+ txt_scrollw = scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(txt_scrollw),
GTK_SHADOW_IN);
- gtk_box_pack_start(GTK_BOX(page_vb), txt_scrollw, TRUE, TRUE, 0);
-
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(txt_scrollw),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- txt = gtk_text_view_new();
- gtk_text_view_set_editable(GTK_TEXT_VIEW(txt), FALSE);
- gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(txt), GTK_WRAP_WORD);
- gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(txt), FALSE);
- /* XXX: there seems to be no way to add a small border *around* the whole text,
- * so the text will be "bump" against the edges.
- * the following is only working for left and right edges,
- * there is no such thing for top and bottom :-( */
- /* gtk_text_view_set_left_margin(GTK_TEXT_VIEW(txt), 3); */
- /* gtk_text_view_set_right_margin(GTK_TEXT_VIEW(txt), 3); */
-
- g_object_set_data(G_OBJECT(page_vb), TEXT_KEY, txt);
-
- text_page_set_text(page_vb, absolute_path);
- gtk_container_add(GTK_CONTAINER(txt_scrollw), txt);
- gtk_widget_show(txt_scrollw);
- gtk_widget_show(txt);
-
- return page_vb;
+ gtk_box_pack_start(GTK_BOX(page_vb), txt_scrollw, TRUE, TRUE, 0);
+
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(txt_scrollw),
+ GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ txt = gtk_text_view_new();
+ gtk_text_view_set_editable(GTK_TEXT_VIEW(txt), FALSE);
+ gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(txt), GTK_WRAP_WORD);
+ gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(txt), FALSE);
+ /* XXX: there seems to be no way to add a small border *around* the whole text,
+ * so the text will be "bump" against the edges.
+ * the following is only working for left and right edges,
+ * there is no such thing for top and bottom :-( */
+ /* gtk_text_view_set_left_margin(GTK_TEXT_VIEW(txt), 3); */
+ /* gtk_text_view_set_right_margin(GTK_TEXT_VIEW(txt), 3); */
+
+ g_object_set_data(G_OBJECT(page_vb), TEXT_KEY, txt);
+
+ text_page_set_text(page_vb, absolute_path);
+ gtk_container_add(GTK_CONTAINER(txt_scrollw), txt);
+ gtk_widget_show(txt_scrollw);
+ gtk_widget_show(txt);
+
+ return page_vb;
}
@@ -112,23 +112,23 @@ static void text_page_insert(GtkWidget *page, const char *buffer, int nchars)
*/
static void text_page_set_text(GtkWidget *page, const char *absolute_path)
{
- FILE *text_file;
- char line[4096+1]; /* XXX - size? */
-
- text_file = ws_fopen(absolute_path, "r");
- if (text_file != NULL) {
- while (fgets(line, sizeof line, text_file) != NULL) {
- text_page_insert(page, line, (int) strlen(line));
- }
- if(ferror(text_file)) {
- simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "Error reading file \"%s\": %s",
- absolute_path, g_strerror(errno));
+ FILE *text_file;
+ char line[4096+1]; /* XXX - size? */
+
+ text_file = ws_fopen(absolute_path, "r");
+ if (text_file != NULL) {
+ while (fgets(line, sizeof line, text_file) != NULL) {
+ text_page_insert(page, line, (int) strlen(line));
+ }
+ if(ferror(text_file)) {
+ simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "Error reading file \"%s\": %s",
+ absolute_path, g_strerror(errno));
+ }
+ fclose(text_file);
+ } else {
+ simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "Could not open file \"%s\": %s",
+ absolute_path, g_strerror(errno));
}
- fclose(text_file);
- } else {
- simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "Could not open file \"%s\": %s",
- absolute_path, g_strerror(errno));
- }
}
@@ -137,9 +137,9 @@ static void text_page_set_text(GtkWidget *page, const char *absolute_path)
*/
static void text_page_clear(GtkWidget *page)
{
- GtkTextBuffer *buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(g_object_get_data(G_OBJECT(page), TEXT_KEY)));
+ GtkTextBuffer *buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(g_object_get_data(G_OBJECT(page), TEXT_KEY)));
- gtk_text_buffer_set_text(buf, "", 0);
+ gtk_text_buffer_set_text(buf, "", 0);
}
@@ -148,6 +148,19 @@ static void text_page_clear(GtkWidget *page)
*/
void text_page_redraw(GtkWidget *page, const char *absolute_path)
{
- text_page_clear(page);
- text_page_set_text(page, absolute_path);
+ text_page_clear(page);
+ text_page_set_text(page, absolute_path);
}
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
diff --git a/ui/gtk/text_page_utils.h b/ui/gtk/text_page_utils.h
index b1475a0d95..4b417db135 100644
--- a/ui/gtk/text_page_utils.h
+++ b/ui/gtk/text_page_utils.h
@@ -44,3 +44,16 @@ extern GtkWidget * text_page_new(const char *absolute_path);
extern void text_page_redraw(GtkWidget *page, const char *absolute_path);
#endif /* __TEXT_PAGE_H__ */
+
+/*
+ * Editor modelines
+ *
+ * Local Variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */