Added usability patch for trash icon
This commit is contained in:
parent
7b0290328b
commit
84dfc93d91
BIN
rtdata/images/trash-show-full.png
Normal file
BIN
rtdata/images/trash-show-full.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 927 B |
@ -447,6 +447,7 @@ void FileBrowser::toTrashRequested (std::vector<FileBrowserEntry*> tbe) {
|
|||||||
tbe[i]->getThumbButtonSet()->setInTrash (true);
|
tbe[i]->getThumbButtonSet()->setInTrash (true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
trash_changed().emit();
|
||||||
applyFilter (filter);
|
applyFilter (filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,6 +462,7 @@ void FileBrowser::fromTrashRequested (std::vector<FileBrowserEntry*> tbe) {
|
|||||||
tbe[i]->getThumbButtonSet()->setInTrash (false);
|
tbe[i]->getThumbButtonSet()->setInTrash (false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
trash_changed().emit();
|
||||||
applyFilter (filter);
|
applyFilter (filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -579,3 +581,6 @@ void FileBrowser::redrawNeeded (LWButton* button) {
|
|||||||
|
|
||||||
queue_draw ();
|
queue_draw ();
|
||||||
}
|
}
|
||||||
|
FileBrowser::type_trash_changed FileBrowser::trash_changed () {
|
||||||
|
return m_trash_changed;
|
||||||
|
}
|
||||||
|
@ -46,6 +46,8 @@ struct FileBrowserIdleHelper {
|
|||||||
|
|
||||||
class FileBrowser : public ThumbBrowserBase, public LWButtonListener {
|
class FileBrowser : public ThumbBrowserBase, public LWButtonListener {
|
||||||
|
|
||||||
|
typedef sigc::signal<void> type_trash_changed;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
Gtk::MenuItem* rank[6];
|
Gtk::MenuItem* rank[6];
|
||||||
@ -76,6 +78,8 @@ class FileBrowser : public ThumbBrowserBase, public LWButtonListener {
|
|||||||
void rankingRequested (std::vector<FileBrowserEntry*> tbe, int rank);
|
void rankingRequested (std::vector<FileBrowserEntry*> tbe, int rank);
|
||||||
void notifySelectionListener ();
|
void notifySelectionListener ();
|
||||||
|
|
||||||
|
type_trash_changed m_trash_changed;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
FileBrowser ();
|
FileBrowser ();
|
||||||
@ -111,6 +115,8 @@ class FileBrowser : public ThumbBrowserBase, public LWButtonListener {
|
|||||||
void _thumbRearrangementNeeded ();
|
void _thumbRearrangementNeeded ();
|
||||||
|
|
||||||
void selectionChanged ();
|
void selectionChanged ();
|
||||||
|
|
||||||
|
type_trash_changed trash_changed();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -105,13 +105,17 @@ FileCatalog::FileCatalog (CoarsePanel* cp, ToolBar* tb) : listener(NULL), fslist
|
|||||||
bRank[4]->set_tooltip_text (M("FILEBROWSER_SHOWRANK5HINT"));
|
bRank[4]->set_tooltip_text (M("FILEBROWSER_SHOWRANK5HINT"));
|
||||||
buttonBar->pack_start (*(new Gtk::VSeparator), Gtk::PACK_SHRINK);
|
buttonBar->pack_start (*(new Gtk::VSeparator), Gtk::PACK_SHRINK);
|
||||||
|
|
||||||
|
iTrashEmpty = new Gtk::Image(argv0+"/images/trash-show-empty.png");
|
||||||
|
iTrashFull = new Gtk::Image(argv0+"/images/trash-show-full.png");
|
||||||
|
|
||||||
bTrash = new Gtk::ToggleButton ();
|
bTrash = new Gtk::ToggleButton ();
|
||||||
bTrash->set_image (*(new Gtk::Image (Gtk::StockID("gtk-delete"), Gtk::ICON_SIZE_SMALL_TOOLBAR)));
|
bTrash->set_image (*iTrashEmpty);
|
||||||
bTrash->set_relief (Gtk::RELIEF_NONE);
|
bTrash->set_relief (Gtk::RELIEF_NONE);
|
||||||
bTrash->set_tooltip_text (M("FILEBROWSER_SHOWTRASHHINT"));
|
bTrash->set_tooltip_text (M("FILEBROWSER_SHOWTRASHHINT"));
|
||||||
bCateg[7] = bTrash->signal_toggled().connect (sigc::bind(sigc::mem_fun(*this, &FileCatalog::categoryButtonToggled), bTrash));
|
bCateg[7] = bTrash->signal_toggled().connect (sigc::bind(sigc::mem_fun(*this, &FileCatalog::categoryButtonToggled), bTrash));
|
||||||
buttonBar->pack_start (*bTrash, Gtk::PACK_SHRINK);
|
buttonBar->pack_start (*bTrash, Gtk::PACK_SHRINK);
|
||||||
buttonBar->pack_start (*(new Gtk::VSeparator), Gtk::PACK_SHRINK);
|
buttonBar->pack_start (*(new Gtk::VSeparator), Gtk::PACK_SHRINK);
|
||||||
|
fileBrowser->trash_changed().connect( sigc::mem_fun(*this, &FileCatalog::trashChanged) );
|
||||||
|
|
||||||
categoryButtons[0] = bDir;
|
categoryButtons[0] = bDir;
|
||||||
categoryButtons[1] = bUnRanked;
|
categoryButtons[1] = bUnRanked;
|
||||||
@ -746,6 +750,16 @@ void FileCatalog::emptyTrash () {
|
|||||||
if (((FileBrowserEntry*)t[i])->thumbnail->getStage()==1)
|
if (((FileBrowserEntry*)t[i])->thumbnail->getStage()==1)
|
||||||
toDel.push_back (((FileBrowserEntry*)t[i]));
|
toDel.push_back (((FileBrowserEntry*)t[i]));
|
||||||
deleteRequested (toDel);
|
deleteRequested (toDel);
|
||||||
|
trashChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool FileCatalog::trashIsEmpty () {
|
||||||
|
const std::vector<ThumbBrowserEntryBase*> t = fileBrowser->getEntries ();
|
||||||
|
for (int i=0; i<t.size(); i++)
|
||||||
|
if (((FileBrowserEntry*)t[i])->thumbnail->getStage()==1)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileCatalog::zoomIn () {
|
void FileCatalog::zoomIn () {
|
||||||
@ -795,3 +809,11 @@ void FileCatalog::setFilterPanel (FilterPanel* fpanel) {
|
|||||||
filterPanel->set_sensitive (false);
|
filterPanel->set_sensitive (false);
|
||||||
filterPanel->setFilterPanelListener (this);
|
filterPanel->setFilterPanelListener (this);
|
||||||
}
|
}
|
||||||
|
void FileCatalog::trashChanged () {
|
||||||
|
if (trashIsEmpty()) {
|
||||||
|
bTrash->set_image(*iTrashEmpty);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bTrash->set_image(*iTrashFull);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -99,6 +99,7 @@ class FileCatalog : public Gtk::VBox,
|
|||||||
Gtk::ToggleButton* exifInfo;
|
Gtk::ToggleButton* exifInfo;
|
||||||
sigc::connection bCateg[8];
|
sigc::connection bCateg[8];
|
||||||
Gtk::Image* iranked[5], *igranked[5];
|
Gtk::Image* iranked[5], *igranked[5];
|
||||||
|
Gtk::Image *iTrashEmpty, *iTrashFull;
|
||||||
|
|
||||||
double hScrollPos[8];
|
double hScrollPos[8];
|
||||||
double vScrollPos[8];
|
double vScrollPos[8];
|
||||||
@ -136,6 +137,7 @@ class FileCatalog : public Gtk::VBox,
|
|||||||
void checkAndAddFile (Glib::RefPtr<Gio::File> info);
|
void checkAndAddFile (Glib::RefPtr<Gio::File> info);
|
||||||
std::vector<Glib::ustring> getFileList ();
|
std::vector<Glib::ustring> getFileList ();
|
||||||
BrowserFilter getFilter ();
|
BrowserFilter getFilter ();
|
||||||
|
void trashChanged ();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CoarsePanel* coarsePanel;
|
CoarsePanel* coarsePanel;
|
||||||
@ -167,6 +169,7 @@ class FileCatalog : public Gtk::VBox,
|
|||||||
void renameRequested (std::vector<FileBrowserEntry*> tbe);
|
void renameRequested (std::vector<FileBrowserEntry*> tbe);
|
||||||
void selectionChanged (std::vector<Thumbnail*> tbe);
|
void selectionChanged (std::vector<Thumbnail*> tbe);
|
||||||
void emptyTrash ();
|
void emptyTrash ();
|
||||||
|
bool trashIsEmpty ();
|
||||||
|
|
||||||
void setFileSelectionListener (FileSelectionListener* l) { listener = l; }
|
void setFileSelectionListener (FileSelectionListener* l) { listener = l; }
|
||||||
void setFileSelectionChangeListener (FileSelectionChangeListener* l) { fslistener = l; }
|
void setFileSelectionChangeListener (FileSelectionChangeListener* l) { fslistener = l; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user