Skip to content

Commit 9814362

Browse files
authored
Merge pull request #5 from biglinux/embedded-terminal
Embedded terminal
2 parents 7c51bfd + 04e6937 commit 9814362

7 files changed

+55
-2
lines changed

gresources/nemo-file-management-properties.glade

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,22 @@ along with . If not, see <http://www.gnu.org/licenses/>.
914914
<property name="position">0</property>
915915
</packing>
916916
</child>
917+
<child>
918+
<object class="GtkCheckButton" id="list_view_show_expanders_checkbutton">
919+
<property name="label" translatable="yes">Show expanders for folders with content</property>
920+
<property name="visible">True</property>
921+
<property name="can-focus">True</property>
922+
<property name="receives-default">False</property>
923+
<property name="use-underline">True</property>
924+
<property name="xalign">0</property>
925+
<property name="draw-indicator">True</property>
926+
</object>
927+
<packing>
928+
<property name="expand">False</property>
929+
<property name="fill">False</property>
930+
<property name="position">1</property>
931+
</packing>
932+
</child>
917933
</object>
918934
</child>
919935
</object>

libnemo-private/nemo-global-preferences.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ enum
181181
#define NEMO_PREFERENCES_LIST_VIEW_DEFAULT_ZOOM_LEVEL "default-zoom-level"
182182
#define NEMO_PREFERENCES_LIST_VIEW_DEFAULT_VISIBLE_COLUMNS "default-visible-columns"
183183
#define NEMO_PREFERENCES_LIST_VIEW_DEFAULT_COLUMN_ORDER "default-column-order"
184+
#define NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION "enable-folder-expansion"
184185

185186
#define NEMO_PREFERENCES_MAX_THUMBNAIL_THREADS "thumbnail-threads"
186187

libnemo-private/nemo-tree-view-drag-dest.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,8 @@ drag_motion_callback (GtkWidget *widget,
523523
gtk_tree_path_compare (old_drop_path, drop_path) != 0)) {
524524
remove_expand_timeout (dest);
525525
}
526-
if (g_settings_get_boolean (nemo_preferences, NEMO_PREFERENCES_EXPAND_ROW_ON_DND_DWELL)) {
526+
if (g_settings_get_boolean (nemo_list_view_preferences, NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION) &&
527+
g_settings_get_boolean (nemo_preferences, NEMO_PREFERENCES_EXPAND_ROW_ON_DND_DWELL)) {
527528
if (dest->details->expand_id == 0 && drop_path != NULL) {
528529
gtk_tree_model_get_iter (model, &drop_iter, drop_path);
529530
if (gtk_tree_model_iter_has_child (model, &drop_iter)) {

libnemo-private/org.nemo.gschema.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -538,6 +538,10 @@
538538
<summary>Default column order in the list view</summary>
539539
<description>Default column order in the list view.</description>
540540
</key>
541+
<key name="enable-folder-expansion" type="b">
542+
<default>false</default>
543+
<summary>If true, allow folders with content to be expanded in the current view.</summary>
544+
</key>
541545
</schema>
542546

543547
<schema id="org.nemo.sidebar-panels" path="/org/nemo/sidebar-panels/" gettext-domain="nemo">

src/nemo-file-management-properties.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
#define NEMO_FILE_MANAGEMENT_PROPERTIES_SWAP_TRASH_DELETE "swap_trash_binding_checkbutton"
7373
#define NEMO_FILE_MANAGEMENT_PROPERTIES_OPEN_NEW_WINDOW_WIDGET "new_window_checkbutton"
7474
#define NEMO_FILE_MANAGEMENT_PROPERTIES_TREE_VIEW_FOLDERS_WIDGET "treeview_folders_checkbutton"
75+
#define NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_LIST_VIEW_EXPANDERS_WIDGET "list_view_show_expanders_checkbutton"
7576

7677
#define NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_PREVIOUS_ICON_TOOLBAR_WIDGET "show_previous_icon_toolbar_togglebutton"
7778
#define NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_NEXT_ICON_TOOLBAR_WIDGET "show_next_icon_toolbar_togglebutton"
@@ -1105,6 +1106,10 @@ nemo_file_management_properties_dialog_setup (GtkBuilder *builder,
11051106
NEMO_FILE_MANAGEMENT_PROPERTIES_NEMO_PREFERENCES_EXPAND_ROW_ON_DND_DWELL_WIDGET,
11061107
NEMO_PREFERENCES_EXPAND_ROW_ON_DND_DWELL);
11071108

1109+
bind_builder_bool (builder, nemo_list_view_preferences,
1110+
NEMO_FILE_MANAGEMENT_PROPERTIES_SHOW_LIST_VIEW_EXPANDERS_WIDGET,
1111+
NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION);
1112+
11081113
setup_tooltip_items (builder);
11091114
connect_tooltip_items (builder);
11101115

src/nemo-list-view.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,18 @@ tooltip_prefs_changed_callback (NemoListView *view)
280280
view->details->tooltip_flags = nemo_global_preferences_get_tooltip_flags ();
281281
}
282282

283+
static void
284+
expanders_enabled_changed_cb (NemoListView *view)
285+
{
286+
g_return_if_fail (NEMO_IS_LIST_VIEW (view));
287+
g_return_if_fail (GTK_IS_TREE_VIEW (view->details->tree_view) && view->details->tree_view != NULL);
288+
289+
gtk_tree_view_collapse_all (view->details->tree_view);
290+
gtk_tree_view_set_show_expanders (view->details->tree_view,
291+
g_settings_get_boolean (nemo_list_view_preferences,
292+
NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION));
293+
}
294+
283295
static void
284296
list_selection_changed_callback (GtkTreeSelection *selection, gpointer user_data)
285297
{
@@ -1466,6 +1478,9 @@ key_press_callback (GtkWidget *widget, GdkEventKey *event, gpointer callback_dat
14661478
}
14671479
break;
14681480
case GDK_KEY_Right:
1481+
if (!g_settings_get_boolean (nemo_list_view_preferences, NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION))
1482+
break;
1483+
14691484
gtk_tree_view_get_cursor (tree_view, &path, NULL);
14701485
if (path) {
14711486
gtk_tree_view_expand_row (tree_view, path, FALSE);
@@ -1474,6 +1489,9 @@ key_press_callback (GtkWidget *widget, GdkEventKey *event, gpointer callback_dat
14741489
handled = TRUE;
14751490
break;
14761491
case GDK_KEY_Left:
1492+
if (!g_settings_get_boolean (nemo_list_view_preferences, NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION))
1493+
break;
1494+
14771495
gtk_tree_view_get_cursor (tree_view, &path, NULL);
14781496
if (path) {
14791497
if (!gtk_tree_view_collapse_row (tree_view, path)) {
@@ -2503,6 +2521,14 @@ create_and_set_up_tree_view (NemoListView *view)
25032521

25042522
gtk_tree_view_set_rubber_banding (GTK_TREE_VIEW (view->details->tree_view), TRUE);
25052523

2524+
gtk_tree_view_set_show_expanders (view->details->tree_view,
2525+
g_settings_get_boolean (nemo_list_view_preferences,
2526+
NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION));
2527+
g_signal_connect_swapped (nemo_list_view_preferences,
2528+
"changed::" NEMO_PREFERENCES_LIST_VIEW_ENABLE_EXPANSION,
2529+
G_CALLBACK (expanders_enabled_changed_cb),
2530+
view);
2531+
25062532
view->details->columns = g_hash_table_new_full (g_str_hash,
25072533
g_str_equal,
25082534
(GDestroyNotify) g_free,

src/nemo-terminal-widget.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2983,4 +2983,4 @@ feed_cd_command(VteTerminal *terminal, const char *path)
29832983
vte_terminal_feed_child(terminal, "\x01", -1); // Ctrl+A
29842984
vte_terminal_feed_child(terminal, "\033[3~", -1); // Delete char (the space)
29852985
vte_terminal_feed_child(terminal, "\x05", -1); // Ctrl+E (end of line)
2986-
}
2986+
}

0 commit comments

Comments
 (0)