Bringing to latest changes #3

Merged
itdominator merged 41 commits from develop into master 2022-07-16 19:14:30 +00:00
4 changed files with 46 additions and 14 deletions
Showing only changes of commit 2278cdc0c3 - Show all commits

View File

@ -110,7 +110,9 @@ class ShowHideMixin:
def show_new_file_menu(self, widget=None, eve=None): def show_new_file_menu(self, widget=None, eve=None):
self.builder.get_object("context_menu_fname").set_text("") context_menu_fname = self.builder.get_object("context_menu_fname")
context_menu_fname.set_text("")
context_menu_fname.grab_focus()
new_file_menu = self.builder.get_object("new_file_menu") new_file_menu = self.builder.get_object("new_file_menu")
response = new_file_menu.run() response = new_file_menu.run()

View File

@ -42,7 +42,14 @@ class GridMixin:
def update_store(self, i, store, icon, tab, dir, file): def update_store(self, i, store, icon, tab, dir, file):
fpath = f"{dir}/{file}" fpath = f"{dir}/{file}"
itr = store.get_iter(i)
loop = True
while loop:
try:
itr = store.get_iter(i)
loop = False
except:
pass
if not icon: if not icon:
icon = self.get_system_thumbnail(fpath, tab.SYS_ICON_WH[0]) icon = self.get_system_thumbnail(fpath, tab.SYS_ICON_WH[0])

View File

@ -115,7 +115,7 @@ class WidgetFileActionMixin:
entry.set_position(-1) entry.set_position(-1)
def do_file_search(self, widget, eve=None): def do_file_search(self, widget, eve=None):
query = widget.get_text() query = widget.get_text().lower()
self.search_icon_grid.unselect_all() self.search_icon_grid.unselect_all()
for i, file in enumerate(self.search_tab.get_files()): for i, file in enumerate(self.search_tab.get_files()):
if query and query in file[0].lower(): if query and query in file[0].lower():
@ -123,8 +123,8 @@ class WidgetFileActionMixin:
self.search_icon_grid.select_path(path) self.search_icon_grid.select_path(path)
items = self.search_icon_grid.get_selected_items() items = self.search_icon_grid.get_selected_items()
if len(items) == 1: if len(items) > 0:
self.search_icon_grid.scroll_to_path(items[0], True, 0.5, 0.5) self.search_icon_grid.scroll_to_path(items[-1], True, 0.5, 0.5)
def open_files(self): def open_files(self):
@ -290,6 +290,9 @@ class WidgetFileActionMixin:
file = Gio.File.new_for_path(path) file = Gio.File.new_for_path(path)
if _target_path: if _target_path:
if file.get_parent().get_path() == _target_path:
raise Exception("Parent dir of target and file locations are the same! Won't copy or move!")
if os.path.isdir(_target_path): if os.path.isdir(_target_path):
info = file.query_info("standard::display-name", 0, cancellable=None) info = file.query_info("standard::display-name", 0, cancellable=None)
_target = f"{_target_path}/{info.get_display_name()}" _target = f"{_target_path}/{info.get_display_name()}"

View File

@ -623,20 +623,24 @@ SolarFM is developed on Atom, git, and using Python 3+ with Gtk GObject introspe
</object> </object>
<object class="GtkDialog" id="new_file_menu"> <object class="GtkDialog" id="new_file_menu">
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="type">popup</property>
<property name="resizable">False</property> <property name="resizable">False</property>
<property name="modal">True</property> <property name="modal">True</property>
<property name="window-position">center</property> <property name="window-position">center-always</property>
<property name="destroy-with-parent">True</property> <property name="destroy-with-parent">True</property>
<property name="type-hint">splashscreen</property> <property name="type-hint">normal</property>
<property name="skip-taskbar-hint">True</property> <property name="skip-taskbar-hint">True</property>
<property name="skip-pager-hint">True</property> <property name="skip-pager-hint">True</property>
<property name="decorated">False</property>
<property name="deletable">False</property> <property name="deletable">False</property>
<property name="gravity">center</property> <property name="gravity">center</property>
<signal name="focus-out-event" handler="hide_new_file_menu" swapped="no"/> <signal name="focus-out-event" handler="hide_new_file_menu" swapped="no"/>
<child internal-child="vbox"> <child internal-child="vbox">
<object class="GtkBox"> <object class="GtkBox">
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">2</property> <property name="spacing">2</property>
<child internal-child="action_area"> <child internal-child="action_area">
@ -694,7 +698,13 @@ SolarFM is developed on Atom, git, and using Python 3+ with Gtk GObject introspe
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="has-focus">True</property> <property name="has-focus">True</property>
<property name="tooltip-text" translatable="yes">New File/Dir Name...</property>
<property name="activates-default">True</property>
<property name="primary-icon-stock">gtk-edit</property> <property name="primary-icon-stock">gtk-edit</property>
<property name="primary-icon-activatable">False</property>
<property name="secondary-icon-activatable">False</property>
<property name="primary-icon-sensitive">False</property>
<property name="secondary-icon-sensitive">False</property>
<property name="placeholder-text" translatable="yes">New File/Dir Name...</property> <property name="placeholder-text" translatable="yes">New File/Dir Name...</property>
</object> </object>
<packing> <packing>
@ -795,15 +805,15 @@ SolarFM is developed on Atom, git, and using Python 3+ with Gtk GObject introspe
<object class="GtkDialog" id="file_exists_dialog"> <object class="GtkDialog" id="file_exists_dialog">
<property name="height-request">120</property> <property name="height-request">120</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="type">popup</property>
<property name="resizable">False</property> <property name="resizable">False</property>
<property name="modal">True</property> <property name="modal">True</property>
<property name="window-position">center</property> <property name="window-position">center-always</property>
<property name="destroy-with-parent">True</property> <property name="destroy-with-parent">True</property>
<property name="type-hint">splashscreen</property> <property name="type-hint">normal</property>
<property name="skip-taskbar-hint">True</property> <property name="skip-taskbar-hint">True</property>
<property name="skip-pager-hint">True</property> <property name="skip-pager-hint">True</property>
<property name="urgency-hint">True</property> <property name="urgency-hint">True</property>
<property name="decorated">False</property>
<property name="deletable">False</property> <property name="deletable">False</property>
<property name="gravity">center</property> <property name="gravity">center</property>
<child internal-child="vbox"> <child internal-child="vbox">
@ -1233,19 +1243,23 @@ SolarFM is developed on Atom, git, and using Python 3+ with Gtk GObject introspe
</object> </object>
<object class="GtkDialog" id="edit_file_menu"> <object class="GtkDialog" id="edit_file_menu">
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="type">popup</property>
<property name="resizable">False</property> <property name="resizable">False</property>
<property name="modal">True</property> <property name="modal">True</property>
<property name="window-position">center</property> <property name="window-position">center-always</property>
<property name="destroy-with-parent">True</property> <property name="destroy-with-parent">True</property>
<property name="type-hint">splashscreen</property> <property name="type-hint">normal</property>
<property name="skip-taskbar-hint">True</property> <property name="skip-taskbar-hint">True</property>
<property name="skip-pager-hint">True</property> <property name="skip-pager-hint">True</property>
<property name="decorated">False</property>
<property name="deletable">False</property> <property name="deletable">False</property>
<property name="gravity">center</property> <property name="gravity">center</property>
<child internal-child="vbox"> <child internal-child="vbox">
<object class="GtkBox"> <object class="GtkBox">
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">2</property> <property name="spacing">2</property>
<child internal-child="action_area"> <child internal-child="action_area">
@ -1336,7 +1350,13 @@ SolarFM is developed on Atom, git, and using Python 3+ with Gtk GObject introspe
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="has-focus">True</property> <property name="has-focus">True</property>
<property name="tooltip-text" translatable="yes">Rename To:</property>
<property name="activates-default">True</property>
<property name="primary-icon-stock">gtk-edit</property> <property name="primary-icon-stock">gtk-edit</property>
<property name="primary-icon-activatable">False</property>
<property name="secondary-icon-activatable">False</property>
<property name="primary-icon-sensitive">False</property>
<property name="secondary-icon-sensitive">False</property>
<property name="placeholder-text" translatable="yes">To:</property> <property name="placeholder-text" translatable="yes">To:</property>
<signal name="key-release-event" handler="hide_edit_file_menu_enter_key" swapped="no"/> <signal name="key-release-event" handler="hide_edit_file_menu_enter_key" swapped="no"/>
</object> </object>