* added CPU and SA1 overclocking support
* added fast forward speed limiting
* added option to mute during fast forwarding and rewinding
* lowered volume when not muting during FF/rewind
* reformatted settings/tools windows from tabs to lists
* moved focus settings to input settings panel
* redesigned input and hotkey settings panels to be easier to use
* fixed offscreen placement issue with path settings panel
* added hotkey combinational logic option (AND / OR mode setting)
* added search support to file browser dialog
* fixed --fullscreen command-line option
This commit is contained in:
byuu
2019-07-31 06:57:31 +09:00
parent 7e88bdde09
commit f65b7a8528
59 changed files with 1019 additions and 642 deletions

View File

@@ -2,7 +2,7 @@
namespace hiro {
static auto TableView_activate(GtkTreeView*, GtkTreePath*, GtkTreeViewColumn*, pTableView* p) -> void { return p->_doActivate(); }
static auto TableView_activate(GtkTreeView*, GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn, pTableView* p) -> void { return p->_doActivate(gtkRow, gtkColumn); }
static auto TableView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pTableView* p) -> signed { return p->_doEvent(event); }
static auto TableView_change(GtkTreeSelection*, pTableView* p) -> void { return p->_doChange(); }
static auto TableView_edit(GtkCellRendererText* renderer, const char* path, const char* text, pTableView* p) -> void { return p->_doEdit(renderer, path, text); }
@@ -238,8 +238,26 @@ auto pTableView::_createModel() -> void {
gtk_tree_view_set_model(gtkTreeView, gtkTreeModel);
}
auto pTableView::_doActivate() -> void {
if(!locked()) self().doActivate();
auto pTableView::_doActivate(GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn) -> void {
if(locked()) return;
if(gtkRow && gtkColumn) {
auto path = gtk_tree_path_to_string(gtkRow);
auto item = self().item(toNatural(path));
auto cell = item.cell(0);
for(auto& column : state().columns) {
if(auto self = column->self()) {
if(self->gtkColumn == gtkColumn) {
cell = item.cell(column->offset());
break;
}
}
}
g_free(path);
self().doActivate(cell);
} else {
self().doActivate({});
}
}
auto pTableView::_doChange() -> void {

View File

@@ -25,7 +25,7 @@ struct pTableView : pWidget {
auto _cellWidth(uint row, uint column) -> uint;
auto _columnWidth(uint column) -> uint;
auto _createModel() -> void;
auto _doActivate() -> void;
auto _doActivate(GtkTreePath* = nullptr, GtkTreeViewColumn* = nullptr) -> void;
auto _doChange() -> void;
auto _doContext() -> void;
auto _doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void;