summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Wilmet <swilmet@informatique-libre.be>2023-03-21 16:00:00 +0100
committerSébastien Wilmet <swilmet@informatique-libre.be>2023-03-21 16:00:39 +0100
commit518d3d35d1e7657f0508d18e3c8ee58a9c71fd2c (patch)
tree6e47c738df9fc473edee38b279b3d5a6a52a8cc5
parentc53e862acd41cb9c8a631ee7b17a7621dc934029 (diff)
downloadgedit-518d3d35d1e7657f0508d18e3c8ee58a9c71fd2c.tar.gz
Tab: make load_stream() public
Because gedit_window_create_tab_from_stream() has been removed.
-rw-r--r--docs/reference/api-breaks.xml6
-rw-r--r--docs/reference/gedit-sections.txt1
-rw-r--r--gedit/gedit-app.c11
-rw-r--r--gedit/gedit-tab-private.h6
-rw-r--r--gedit/gedit-tab.c30
-rw-r--r--gedit/gedit-tab.h6
6 files changed, 42 insertions, 18 deletions
diff --git a/docs/reference/api-breaks.xml b/docs/reference/api-breaks.xml
index 77865b0aa..2fcd2bc08 100644
--- a/docs/reference/api-breaks.xml
+++ b/docs/reference/api-breaks.xml
@@ -27,7 +27,11 @@
<listitem>
<para>
The <code>gedit_window_create_tab_from_stream()</code> function has
- been removed.
+ been removed, use
+ <link linkend="gedit-window-create-tab">gedit_window_create_tab()</link>
+ and
+ <link linkend="gedit-tab-load-stream">gedit_tab_load_stream()</link>
+ instead.
</para>
</listitem>
</itemizedlist>
diff --git a/docs/reference/gedit-sections.txt b/docs/reference/gedit-sections.txt
index a7f6af280..e1f948b1e 100644
--- a/docs/reference/gedit-sections.txt
+++ b/docs/reference/gedit-sections.txt
@@ -168,6 +168,7 @@ GEDIT_STATUSBAR_GET_CLASS
<TITLE>GeditTab</TITLE>
GeditTab
GeditTabState
+gedit_tab_load_stream
gedit_tab_get_view
gedit_tab_get_document
gedit_tab_get_from_document
diff --git a/gedit/gedit-app.c b/gedit/gedit-app.c
index 2b82df63f..9ddac418d 100644
--- a/gedit/gedit-app.c
+++ b/gedit/gedit-app.c
@@ -43,7 +43,6 @@
#include "gedit-commands.h"
#include "gedit-preferences-dialog.h"
#include "gedit-tab.h"
-#include "gedit-tab-private.h"
#define GEDIT_PAGE_SETUP_FILE "gedit-page-setup"
#define GEDIT_PRINT_SETTINGS_FILE "gedit-print-settings"
@@ -320,11 +319,11 @@ open_files (GApplication *application,
gedit_debug_message (DEBUG_APP, "Load stdin");
tab = gedit_window_create_tab (window, TRUE);
- _gedit_tab_load_stream (tab,
- stdin_stream,
- encoding,
- line_position,
- column_position);
+ gedit_tab_load_stream (tab,
+ stdin_stream,
+ encoding,
+ line_position,
+ column_position);
doc_created = TRUE;
if (command_line != NULL)
diff --git a/gedit/gedit-tab-private.h b/gedit/gedit-tab-private.h
index 1b84f13d1..ccdf2249b 100644
--- a/gedit/gedit-tab-private.h
+++ b/gedit/gedit-tab-private.h
@@ -41,12 +41,6 @@ void _gedit_tab_load (GeditTab *tab,
gint column_pos,
gboolean create);
-void _gedit_tab_load_stream (GeditTab *tab,
- GInputStream *location,
- const GtkSourceEncoding *encoding,
- gint line_pos,
- gint column_pos);
-
void _gedit_tab_revert (GeditTab *tab);
void _gedit_tab_save_async (GeditTab *tab,
diff --git a/gedit/gedit-tab.c b/gedit/gedit-tab.c
index 3e3fc5b8c..366b50361 100644
--- a/gedit/gedit-tab.c
+++ b/gedit/gedit-tab.c
@@ -2142,13 +2142,33 @@ load_stream_async (GeditTab *tab,
launch_loader (loading_task, encoding);
}
+/**
+ * gedit_tab_load_stream:
+ * @tab: a #GeditTab.
+ * @stream: the #GInputStream to load, e.g. stdin.
+ * @encoding: (nullable): a #GtkSourceEncoding, or %NULL.
+ * @line_pos: the line position to visualize.
+ * @column_pos: the column position to visualize.
+ *
+ * Loads @stream into @tab. This function is usually called only on a
+ * newly-created tab.
+ *
+ * The @tab needs to be in %GEDIT_TAB_STATE_NORMAL. The previous
+ * #GtkTextBuffer's content is lost.
+ *
+ * Since: 45
+ */
void
-_gedit_tab_load_stream (GeditTab *tab,
- GInputStream *stream,
- const GtkSourceEncoding *encoding,
- gint line_pos,
- gint column_pos)
+gedit_tab_load_stream (GeditTab *tab,
+ GInputStream *stream,
+ const GtkSourceEncoding *encoding,
+ gint line_pos,
+ gint column_pos)
{
+ g_return_if_fail (GEDIT_IS_TAB (tab));
+ g_return_if_fail (G_IS_INPUT_STREAM (stream));
+ g_return_if_fail (tab->state == GEDIT_TAB_STATE_NORMAL);
+
if (tab->cancellable != NULL)
{
g_cancellable_cancel (tab->cancellable);
diff --git a/gedit/gedit-tab.h b/gedit/gedit-tab.h
index e3d67d7df..47837874f 100644
--- a/gedit/gedit-tab.h
+++ b/gedit/gedit-tab.h
@@ -48,6 +48,12 @@ typedef enum
G_DECLARE_FINAL_TYPE (GeditTab, gedit_tab, GEDIT, TAB, GtkBox)
+void gedit_tab_load_stream (GeditTab *tab,
+ GInputStream *stream,
+ const GtkSourceEncoding *encoding,
+ gint line_pos,
+ gint column_pos);
+
GeditView *gedit_tab_get_view (GeditTab *tab);
/* This is only an helper function */