Hi thanx for the reply.
Here some code that should compile ( in my program ui is built using designer here no )
{
Q_OBJECT
private:
static MainWindow* m_instance;
OBox* m_application;
Track* m_track;
QHash<QDate, QString> m_hash;
private:
void createActions();
void createMenus();
void createToolBar();
public:
explicit MainWindow(OBox* application);
static MainWindow* instance();
};
#endif // MAINWINDOW_H
class MainWindow : public QMainWindow
{
Q_OBJECT
private:
static MainWindow* m_instance;
OBox* m_application;
Track* m_track;
QModelIndex m_lastPlayedIndex;
QModelIndex m_newIndex;
QDateTime m_creationTime;
QHash<QDate, QString> m_hash;
QLabel *m_progressLabel;
QProgressBar *m_progressBar;
QMenu *oboxMenu;
QMenu *vehicleMenu;
QMenu *videoMenu;
QMenu *indexMenu;
QMenu *helpMenu;
QAction *exitAction;
QAction *vehicleAddAction;
QAction *vehicleRemoveAction;
QAction *vehicleInfoAction;
QAction *videoSearchAction;
QAction *videoDeleteAction;
QAction *updateIndexAction;
QAction *aboutAction;
QToolBar *mainToolBar;
private:
void createActions();
void createMenus();
void createToolBar();
public:
explicit MainWindow(OBox* application);
static MainWindow* instance();
};
#endif // MAINWINDOW_H
To copy to clipboard, switch view to plain text mode
// The mainwindow ctor ( I removed all non minimal code )
{
createActions();
createMenus();
createToolBar();
}
MainWindow::MainWindow() : QMainWindow(0)
{
createActions();
createMenus();
createToolBar();
}
To copy to clipboard, switch view to plain text mode
Here I create actions ( only 3 just for test )
void MainWindow::createActions()
{
// I create only 3 actions just for test
vehicleAddAction
= new QAction(tr
("&Add"),
this);
vehicleAddAction
->setIcon
(QIcon(":/Resources/AddVehicle.png"));
vehicleAddAction->setStatusTip(tr("Add a new vehicle to the list"));
connect(vehicleAddAction, SIGNAL(triggered()), this, SLOT(addVehicle()));
vehicleRemoveAction
= new QAction(tr
("&Remove"),
this);
vehicleRemoveAction
->setIcon
(QIcon(":/Resources/RemoveVehicle.png"));
vehicleRemoveAction->setShortcut(tr("Ctrl+R"));
vehicleRemoveAction->setStatusTip(tr("Remove a vehicle from the list"));
connect(vehicleAddAction, SIGNAL(triggered()), this, SLOT(removeVehicle()));
vehicleInfoAction
= new QAction(tr
("&Info"),
this);
vehicleInfoAction
->setIcon
(QIcon(":/Resources/InfoVehicle.png"));
vehicleInfoAction->setShortcut(tr("Ctrl+I"));
vehicleInfoAction->setStatusTip(tr("Shows info about a vehicle"));
connect(vehicleInfoAction, SIGNAL(triggered()), this, SLOT(infoVehicle()));
}
void MainWindow::createActions()
{
// I create only 3 actions just for test
vehicleAddAction = new QAction(tr("&Add"), this);
vehicleAddAction->setIcon(QIcon(":/Resources/AddVehicle.png"));
vehicleAddAction->setShortcut(QKeySequence::New);
vehicleAddAction->setStatusTip(tr("Add a new vehicle to the list"));
connect(vehicleAddAction, SIGNAL(triggered()), this, SLOT(addVehicle()));
vehicleRemoveAction = new QAction(tr("&Remove"), this);
vehicleRemoveAction->setIcon(QIcon(":/Resources/RemoveVehicle.png"));
vehicleRemoveAction->setShortcut(tr("Ctrl+R"));
vehicleRemoveAction->setStatusTip(tr("Remove a vehicle from the list"));
connect(vehicleAddAction, SIGNAL(triggered()), this, SLOT(removeVehicle()));
vehicleInfoAction = new QAction(tr("&Info"), this);
vehicleInfoAction->setIcon(QIcon(":/Resources/InfoVehicle.png"));
vehicleInfoAction->setShortcut(tr("Ctrl+I"));
vehicleInfoAction->setStatusTip(tr("Shows info about a vehicle"));
connect(vehicleInfoAction, SIGNAL(triggered()), this, SLOT(infoVehicle()));
}
To copy to clipboard, switch view to plain text mode
void MainWindow::createMenus()
{
oboxMenu = menuBar()->addMenu(tr("&OBox"));
vehicleMenu = menuBar()->addMenu(tr("&Vehicle"));
vehicleMenu->addAction(vehicleAddAction);
vehicleMenu->addAction(vehicleRemoveAction);
vehicleMenu->addSeparator();
vehicleMenu->addAction(vehicleInfoAction);
}
void MainWindow::createMenus()
{
oboxMenu = menuBar()->addMenu(tr("&OBox"));
vehicleMenu = menuBar()->addMenu(tr("&Vehicle"));
vehicleMenu->addAction(vehicleAddAction);
vehicleMenu->addAction(vehicleRemoveAction);
vehicleMenu->addSeparator();
vehicleMenu->addAction(vehicleInfoAction);
}
To copy to clipboard, switch view to plain text mode
void MainWindow::createToolBar()
{
mainToolBar = addToolBar(tr("&OBox"));
mainToolBar->addAction(vehicleAddAction);
mainToolBar->addAction(vehicleRemoveAction);
mainToolBar->addAction(vehicleInfoAction);
}
void MainWindow::createToolBar()
{
mainToolBar = addToolBar(tr("&OBox"));
mainToolBar->addAction(vehicleAddAction);
mainToolBar->addAction(vehicleRemoveAction);
mainToolBar->addAction(vehicleInfoAction);
}
To copy to clipboard, switch view to plain text mode
I also attach the 3 icons (64x64)
AddVehicle.pngInfoVehicle.pngRemoveVehicle.png.
Regards
Added after 14 minutes:
Hi anda_skoa,
which widget should I modify?
Bye
Bookmarks