Revert "Qt: remove unnecessary method from FunnelStatistics"

This reverts commit ddcb429979
This commit is contained in:
Roland Knall 2022-07-29 13:12:53 +00:00
parent 9781ae3fc1
commit 59e7c16425
3 changed files with 25 additions and 2 deletions

View File

@ -106,6 +106,7 @@ private:
static QHash<int, QList<FunnelAction *> > funnel_actions_;
const QString FunnelStatistics::action_name_ = "FunnelStatisticsAction";
static gboolean menus_registered = FALSE;
struct _funnel_ops_id_t {
FunnelStatistics *funnel_statistics;
@ -347,6 +348,8 @@ void progress_window_destroy(progdlg *progress_dialog) {
extern "C" {
void register_tap_listener_qt_funnel(void);
static void register_menu_cb(const char *name,
register_stat_group_t group,
funnel_menu_callback callback,
@ -354,8 +357,11 @@ static void register_menu_cb(const char *name,
gboolean retap)
{
FunnelAction *funnel_action = new FunnelAction(name, callback, callback_data, retap, mainApp);
mainApp->addDynamicMenuGroupItem(group, funnel_action);
if (menus_registered) {
mainApp->appendDynamicMenuGroupItem(group, funnel_action);
} else {
mainApp->addDynamicMenuGroupItem(group, funnel_action);
}
if (!funnel_actions_.contains(group)) {
funnel_actions_[group] = QList<FunnelAction *>();
}
@ -380,6 +386,13 @@ static void deregister_menu_cb(funnel_menu_callback callback)
}
}
void
register_tap_listener_qt_funnel(void)
{
funnel_register_all_menus(register_menu_cb);
menus_registered = TRUE;
}
void
funnel_statistics_reload_menus(void)
{

View File

@ -879,6 +879,15 @@ void MainApplication::addDynamicMenuGroupItem(int group, QAction *sg_action)
dynamic_menu_groups_[group] << sg_action;
}
void MainApplication::appendDynamicMenuGroupItem(int group, QAction *sg_action)
{
if (!added_menu_groups_.contains(group)) {
added_menu_groups_[group] = QList<QAction *>();
}
added_menu_groups_[group] << sg_action;
addDynamicMenuGroupItem(group, sg_action);
}
void MainApplication::removeDynamicMenuGroupItem(int group, QAction *sg_action)
{
if (!removed_menu_groups_.contains(group)) {

View File

@ -92,6 +92,7 @@ public:
void emitStatCommandSignal(const QString &menu_path, const char *arg, void *userdata);
void emitTapParameterSignal(const QString cfg_abbr, const QString arg, void *userdata);
void addDynamicMenuGroupItem(int group, QAction *sg_action);
void appendDynamicMenuGroupItem(int group, QAction *sg_action);
void removeDynamicMenuGroupItem(int group, QAction *sg_action);
QList<QAction *> dynamicMenuGroupItems(int group);
QList<QAction *> addedMenuGroupItems(int group);