void reindex(GtkWidget *widget, gpointer data) { char command[1024]; destroySearch(); createSearch(); sprintf(command, "./bin/index myindex.txt %s", indexdir); system(command); }
int main (int argc, char *argv[]) { /* Vars */ GtkWidget *vbox; GtkWidget *window; GtkWidget *table; GtkWidget *label; GtkWidget *entry; GtkWidget *button; GtkWidget* scrolled; GtkWidget *menubar; GtkWidget *filemenu; GtkWidget *file; GtkWidget *quit; GtkWidget *reindexer; /* Set default directory to index */ indexdir = "."; /* Run the indexer */ reindex(NULL, NULL); /* Create the search objects */ createSearch(); /* Make the GUI */ gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); initialize_window(window); /* Create a 10x5 table */ table = gtk_table_new (10, 5, FALSE); gtk_container_add (GTK_CONTAINER (window), table); /* create a new label. */ label = gtk_label_new ("Search Terms:" ); gtk_table_set_homogeneous(GTK_TABLE (table), TRUE); gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 1, 2); entry = gtk_entry_new (); gtk_entry_set_max_length (GTK_ENTRY (entry),1000); gtk_table_attach_defaults (GTK_TABLE (table), entry, 1, 3, 1, 2); button = gtk_button_new_with_label ("OR Search"); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (orsearch), (gpointer) entry); gtk_table_attach_defaults (GTK_TABLE (table), button, 3, 4, 1, 2); button = gtk_button_new_with_label ("AND Search"); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (andsearch), (gpointer) entry); gtk_table_attach_defaults (GTK_TABLE (table), button, 4, 5, 1, 2); textview = gtk_text_view_new(); gtk_text_view_set_editable( GTK_TEXT_VIEW (textview), 0); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview), 0); scrolled = gtk_scrolled_window_new(NULL, NULL); gtk_container_add (GTK_CONTAINER (scrolled), textview); gtk_table_attach_defaults (GTK_TABLE (table), scrolled, 0, 5, 2, 10); vbox = gtk_vbox_new(FALSE, 0); gtk_table_attach_defaults (GTK_TABLE (table), vbox, 0, 5, 0, 1); menubar = gtk_menu_bar_new(); filemenu = gtk_menu_new(); file = gtk_menu_item_new_with_label("File"); reindexer = gtk_menu_item_new_with_label("Reindex"); gtk_signal_connect (GTK_OBJECT (reindexer), "activate", G_CALLBACK(reindex), NULL); quit = gtk_menu_item_new_with_label("Quit"); gtk_signal_connect (GTK_OBJECT (quit), "activate", G_CALLBACK(destroy), NULL); gtk_menu_item_set_submenu(GTK_MENU_ITEM(file), filemenu); gtk_menu_shell_append(GTK_MENU_SHELL(filemenu), reindexer); gtk_menu_shell_append(GTK_MENU_SHELL(filemenu), quit); gtk_menu_shell_append(GTK_MENU_SHELL(menubar), file); gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 3); gtk_widget_show_all(window); gtk_main (); return 0; }
Gui_AdminWindow::Gui_AdminWindow(QWidget* parent) : QWidget(parent) { _admin = new LinqAdmin; setWindowFlags(Qt::FramelessWindowHint); setWindowOpacity(0.95); setStyleSheet(QStringLiteral("QGroupBox{border:1px solid #000;border-radius:15px;} QGroupBox::title {subcontrol-origin: margin;subcontrol-position: top center;top:-6px;}")); QLabel* linkLabel = new QLabel("User list"); QLabel* groupLabel = new QLabel("Group list"); QPushButton* add = new QPushButton("Insert"); add->setIcon(QPixmap("img/add70.png")); linkLabel->setMaximumSize(120,20); groupLabel->setMaximumSize(120,20); _level = new QComboBox; _level->addItem("Basic", QVariant(0)); _level->addItem("Business", QVariant(1)); _level->addItem("Executive", QVariant(2)); tbar = new QToolBar; QToolButton* rm = new QToolButton(tbar); QToolButton* ok = new QToolButton(tbar); QToolButton* next = new QToolButton(tbar); QToolButton* delG = new QToolButton(tbar); rm->setIcon(QPixmap("img/cross108.png")); rm->setToolTip("Remove this user from Linqedin"); ok->setIcon(QPixmap("img/check67.png")); ok->setToolTip("Upgrade this user"); next->setIcon(QPixmap("img/right244.png")); next->setToolTip("Next result"); delG->setIcon(QPixmap("img/cross108.png")); delG->setToolTip("Delete group"); connect(rm, SIGNAL(clicked()), this, SLOT(removeUser())); connect(add, SIGNAL(clicked()), this, SLOT(addUser())); connect(ok, SIGNAL(clicked()), this, SLOT(upgradeUser())); connect(next, SIGNAL(clicked()), this, SLOT(nextResult())); connect(delG, SIGNAL(clicked()), this, SLOT(deleteGroup())); tbar->addWidget(rm); tbar->addWidget(ok); tbar->addWidget(next); tbar->addWidget(delG); tbar->actions().at(1)->setVisible(false); tbar->hide(); QGroupBox* _admbox = new QGroupBox; QGroupBox* _admins = new QGroupBox; for(int i = 0; i < 5; ++i) edt[i] = new QLineEdit; // search bar edt[3]->setEchoMode(QLineEdit::Password); edt[4]->setPlaceholderText("Search user"); createSearch(); connect(edt[4], SIGNAL(returnPressed()), this, SLOT(startSearch())); QVBoxLayout* _mainLayout = new QVBoxLayout; _mainLayout->setSpacing(20); QGridLayout* _layout = new QGridLayout; QGridLayout* _inslay = new QGridLayout; QFormLayout* frmsx = new QFormLayout; QFormLayout* frmdx = new QFormLayout; _userList = new QListWidget; _groupList = new QListWidget; _userInfo = new Gui_DisplayInfo; _userInfo->setReadOnly(true); QPushButton* quit = new QPushButton; quit->setIcon(QPixmap("img/prohibited1.png")); connect(quit, SIGNAL(clicked()), this, SLOT(close())); createUserList(); createGroupList(); _mainLayout->addWidget(quit, 0, Qt::AlignTop | Qt::AlignRight); _layout->addWidget(linkLabel, 0, 0, 1, 1); _layout->addWidget(_userInfo, 0, 1, 4, 1); _layout->addWidget(_userList, 1, 0, 1, 1); _layout->addWidget(groupLabel, 2, 0, 1, 1); _layout->addWidget(_groupList, 3, 0, 1, 1); _layout->addWidget(edt[4], 4, 0, 1, 1); _layout->addWidget(tbar, 4, 1, 1, 1, Qt::AlignCenter); _layout->setRowStretch(0,0); _layout->setRowStretch(1,1); _layout->setRowStretch(2,0); _layout->setColumnStretch(0,1); _layout->setColumnStretch(1,5); frmsx->addRow("Name:", edt[0]); frmdx->addRow("Surname:", edt[1]); frmsx->addRow("Username:"******"Password:"******"Privilege:", _level); _inslay->addLayout(frmsx, 0, 0, 1, 1); _inslay->addLayout(frmdx, 0, 1, 1, 1); _inslay->addWidget(add, 1, 1, 1, 1, Qt::AlignCenter); _admbox->setLayout(_layout); _admins->setLayout(_inslay); _mainLayout->addWidget(_admbox); _mainLayout->addWidget(_admins); setLayout(_mainLayout); connect(this, SIGNAL(modified()), this, SLOT(refreshLists())); move(100, 30); resize(1150, 720); }