ProfileSelect::ProfileSelect(QWidget *parent) : QDialog(parent), ui(new Ui::ProfileSelect) { ui->setupUi(this); QStringList str; model=new QStandardItemModel (0,0); int i=0; int sel=-1; QString name; QIcon icon(":/icons/moon.png"); for (QMap<QString,Profile *>::iterator p=Profiles::profiles.begin();p!=Profiles::profiles.end();p++) { name=p.key(); QStandardItem *item=new QStandardItem(icon,name); if (PREF.contains(STR_GEN_Profile) && (name==PREF[STR_GEN_Profile].toString())) { sel=i; } item->setData(p.key()); item->setEditable(false); // Profile fonts arern't loaded yet.. Using generic font. item->setFont(QFont("Sans Serif",18,QFont::Bold,false)); model->appendRow(item); i++; } ui->listView->setModel(model); ui->listView->setSelectionBehavior(QAbstractItemView::SelectRows); ui->listView->setSelectionMode(QAbstractItemView::SingleSelection); if (sel>=0) ui->listView->setCurrentIndex(model->item(sel)->index()); m_tries=0; /*PREF["SkipLogin"]=false; if ((i==1) && PREF["SkipLogin"].toBool()) { if (!Profiles::profiles.contains(name)) PREF[STR_GEN_Profile]=name; QTimer::singleShot(0,this,SLOT(earlyExit())); hide(); } */ popupMenu=new QMenu(this); popupMenu->addAction(tr("Open Profile"),this,SLOT(openProfile())); popupMenu->addAction(tr("Edit Profile"),this,SLOT(editProfile())); popupMenu->addSeparator(); popupMenu->addAction(tr("Delete Profile"),this,SLOT(deleteProfile())); ui->labelAppName->setText(STR_TR_SleepyHead); ui->labelVersion->setText("v"+VersionString+" "+ReleaseStatus); // if (GIT_BRANCH!="master") // ui->labelBuild->setText(GIT_BRANCH); // else ui->labelBuild->setText(QString()); ui->labelFolder->setText(GetAppRoot()); ui->labelFolder->setToolTip("Current SleepyHead data folder\n"+GetAppRoot()); }
void FLogTextBrowser::contextMenuEvent(QContextMenuEvent *event) { flist_copylink = anchorAt(event->pos()); QTextCursor cursor = textCursor(); QMenu *menu = new QMenu; QAction *action; if(flist_copylink.isEmpty()) { //Plain text selected } else if(flist_copylink.startsWith("https://www.f-list.net/c/")) { flist_copyname = flist_copylink.mid(QString("https://www.f-list.net/c/").length()); if(flist_copyname.endsWith("/")) { flist_copyname = flist_copyname.left(flist_copyname.length() - 1); } menu->addAction(QString("Open Profile"), this, SLOT(openProfile())); //todo: Get the list of available sessions. Create a submenu with all available characters if there is more than one (or this session isn't vlaid). menu->addAction(QString("Open PM"), this, SLOT(openPrivateMessage())); menu->addAction(QString("Copy Profile Link"), this, SLOT(copyLink())); menu->addAction(QString("Copy Name"), this, SLOT(copyName())); menu->addSeparator(); } else if(flist_copylink.startsWith("#AHI-")) { flist_copyname = flist_copylink.mid(5); //todo: Get the list of available sessions. Create a submenu with all available characters if there is more than one (or this session isn't vlaid). menu->addAction(QString("Join Channel"), this, SLOT(joinChannel())); //todo: Maybe get the name the plain text of the link and make that available for copying? menu->addAction(QString("Copy Channel ID"), this, SLOT(copyName())); menu->addSeparator(); } else if(flist_copylink.startsWith("#CSA-")) { flist_copyname = flist_copylink.mid(5); //todo: If possible, get which session this actually came from and use that. menu->addAction(QString("Confirm Staff Report"), this, SLOT(confirmReport())); menu->addAction(QString("Copy Call ID"), this, SLOT(copyName())); menu->addSeparator(); } else { menu->addAction(QString("Copy Link"), this, SLOT(copyLink())); menu->addSeparator(); } action = menu->addAction(QString("Copy Selection"), this, SLOT(copy())); action->setEnabled(cursor.hasSelection()); menu->addAction(QString("Select All"), this, SLOT(selectAll())); menu->exec(event->globalPos()); delete menu; }
static void loadIni(HWND hwnd) { char buffer[512]; CNRINFO cnrInfo; HINI inifile; inifile = openProfile(INIFILE); if(inifile) { if(readProfile(inifile,"CD","Grabber",buffer,sizeof(buffer), TRUE)) setText(WinWindowFromID(hwnd, CB_GRABBER), CBID_EDIT, buffer); if(readProfile(inifile,"CD","Drive",buffer,sizeof(buffer), TRUE)) setText(WinWindowFromID(hwnd, CB_DRIVE), CBID_EDIT, buffer); if(readProfile(inifile,"CD","TempDir",buffer,sizeof(buffer), TRUE)) setText(hwnd, EF_TEMPDIR, buffer); if(readProfile(inifile,"CD","Custom",buffer,sizeof(buffer), TRUE)) setText(hwnd, EF_CUSTOMCD, buffer); if(readProfile(inifile,"CD","SuperGrab",buffer,1, FALSE)) setCheck(hwnd, CB_SUPERGRAB, *buffer); if(readProfile(inifile,"CD","Use CDDB",buffer,1, FALSE)) setCheck(hwnd, CB_USECDDB, *buffer); if(readProfile(inifile,"CD","Title",buffer,sizeof(buffer), TRUE)) setText(hwnd, EF_TITLE, buffer); if(readProfile(inifile,"CD","Artist",buffer,sizeof(buffer), TRUE)) setText(hwnd, EF_ARTIST, buffer); if(readProfile(inifile,"CD","Comments",buffer,sizeof(buffer), TRUE)) setText(hwnd, EF_COMMENTS, buffer); if(readProfile(inifile,"CD","Category",buffer,sizeof(buffer), TRUE)) setText(hwnd, EF_GENRE, buffer); if(readProfile(inifile,"CD","ContainerInfo",&cnrInfo,sizeof(cnrInfo), FALSE)) WinSendDlgItemMsg(hwnd,CT_TRACK,CM_SETCNRINFO, MPFROMP(&cnrInfo), MPFROMLONG(CMA_XVERTSPLITBAR | CMA_FLWINDOWATTR)); miniIcons = (cnrInfo.flWindowAttr & CV_MINI) ? TRUE : FALSE; closeProfile(inifile); } }
static void saveIni(HWND hwnd) { char buffer[512]; CNRINFO cnrInfo; HINI inifile; inifile = openProfile(INIFILE); if(inifile) { getText(WinWindowFromID(hwnd, CB_GRABBER), CBID_EDIT, buffer, sizeof(buffer)); writeProfile(inifile,"CD","Grabber", buffer,0); getText(WinWindowFromID(hwnd, CB_DRIVE), CBID_EDIT, buffer, sizeof(buffer)); writeProfile(inifile,"CD","Drive", buffer,0); getText(hwnd, EF_TEMPDIR, buffer, sizeof(buffer)); writeProfile(inifile,"CD","TempDir", buffer,0); getText(hwnd, EF_CUSTOMCD, buffer, sizeof(buffer)); writeProfile(inifile,"CD","Custom", buffer,0); *buffer = getCheck(hwnd, CB_SUPERGRAB); writeProfile(inifile,"CD","SuperGrab", buffer, 1); *buffer = getCheck(hwnd, CB_USECDDB); writeProfile(inifile,"CD","Use CDDB", buffer, 1); getText(hwnd, EF_TITLE, buffer, sizeof(buffer)); writeProfile(inifile,"CD","Title", buffer,0); getText(hwnd, EF_ARTIST, buffer, sizeof(buffer)); writeProfile(inifile,"CD","Artist", buffer,0); getText(hwnd, EF_COMMENTS, buffer, sizeof(buffer)); writeProfile(inifile,"CD","Comments", buffer,0); getText(hwnd, EF_GENRE, buffer, sizeof(buffer)); writeProfile(inifile,"CD","Category", buffer,0); cnrInfo.cb = sizeof(cnrInfo); WinSendDlgItemMsg(hwnd,CT_TRACK,CM_QUERYCNRINFO, MPFROMP(&cnrInfo),MPFROMLONG(sizeof(cnrInfo))); writeProfile(inifile,"CD","ContainerInfo", &cnrInfo, sizeof(cnrInfo)); closeProfile(inifile); } }
MainForm::MainForm( QWidget* parent, const char* name, WFlags fl ) : QMainWindow( parent, name, fl ) { (void)statusBar(); if ( !name ) setName( "MainForm" ); setCentralWidget( new QWidget( this, "qt_central_widget" ) ); MainFormLayout = new QVBoxLayout( centralWidget(), 11, 6, "MainFormLayout"); listView = new QListView( centralWidget(), "listView" ); listView->addColumn( tr( "Type" ) ); listView->addColumn( tr( "Name" ) ); listView->addColumn( tr( "Login" ) ); listView->addColumn( tr( "Password" ) ); listView->addColumn( tr( "Description" ) ); listView->setResizeMode( QListView::AllColumns ); listView->setSorting(-1); MainFormLayout->addWidget( listView ); // actions createProfileAction = new QAction( this, "createProfileAction" ); createProfileAction->setIconSet( QPixmap::fromMimeSource("new.png") ); openProfileAction = new QAction(this, "openProfileAction" ); openProfileAction->setIconSet( QPixmap::fromMimeSource("open.png") ); tb_openProfileAction = new QAction(this, "tb_openProfileAction"); tb_openProfileAction->setIconSet( QPixmap::fromMimeSource("tb_open.png") ); closeProfileAction = new QAction( this, "closeProfileAction" ); closeProfileAction->setIconSet( QPixmap::fromMimeSource("close.png") ); tb_closeProfileAction = new QAction( this, "tb_closeProfileAction" ); tb_closeProfileAction->setIconSet( QPixmap::fromMimeSource("tb_close.png") ); deleteProfileAction = new QAction( this, "deleteProfileAction" ); deleteProfileAction->setIconSet( QPixmap::fromMimeSource("delete_all.png") ); changeProfileAction = new QAction( this, "changeProfileAction" ); fileQuitAction = new QAction( this, "fileQuitAction" ); fileSaveAction = new QAction( this, "fileSaveAction" ); fileSaveAction->setIconSet( QPixmap::fromMimeSource("save.png") ); tb_fileSaveAction = new QAction( this, "tb_fileSaveAction" ); tb_fileSaveAction->setIconSet( QPixmap::fromMimeSource("tb_save.png") ); editUndoAction = new QAction( this, "editUndoAction" ); editUndoAction->setIconSet( QPixmap::fromMimeSource("undo.png") ); tb_editUndoAction = new QAction( this, "editUndoAction" ); tb_editUndoAction->setIconSet( QPixmap::fromMimeSource("tb_undo.png") ); editRedoAction = new QAction( this, "editRedoAction" ); editRedoAction->setIconSet( QPixmap::fromMimeSource("redo.png") ); tb_editRedoAction = new QAction( this, "tb_editRedoAction" ); tb_editRedoAction->setIconSet( QPixmap::fromMimeSource("tb_redo.png") ); editNewField = new QAction( this, "editNewField" ); editNewField->setIconSet( QPixmap::fromMimeSource("new.png") ); editEditField = new QAction( this, "editEditField" ); editEditField->setIconSet( QPixmap::fromMimeSource("edit.png") ); tb_editEditField = new QAction( this, "tb_editEditField" ); tb_editEditField->setIconSet( QPixmap::fromMimeSource("tb_edit.png") ); tb_editNewField = new QAction( this, "tb_editNewField" ); tb_editNewField->setIconSet( QPixmap::fromMimeSource("tb_new.png") ); editDeleteField = new QAction( this, "editDeleteField" ); editDeleteField->setIconSet( QPixmap::fromMimeSource("delete.png") ); tb_editDeleteField = new QAction( this, "tb_editDeleteField" ); tb_editDeleteField->setIconSet( QPixmap::fromMimeSource("tb_delete.png") ); editDeleteAll = new QAction( this, "editDeleteAll" ); editDeleteAll->setIconSet( QPixmap::fromMimeSource("delete_all.png") ); helpAboutAction = new QAction( this, "helpAboutAction" ); // toolbars fileToolbar = new QToolBar( tr("File"), this, DockTop ); tb_openProfileAction->addTo( fileToolbar); tb_fileSaveAction->addTo( fileToolbar); tb_closeProfileAction->addTo( fileToolbar ); editToolbar = new QToolBar( tr("Edit"), this, DockTop ); tb_editUndoAction->addTo( editToolbar ); tb_editRedoAction->addTo( editToolbar ); editToolbar->addSeparator(); tb_editNewField->addTo( editToolbar ); tb_editEditField->addTo( editToolbar ); tb_editDeleteField->addTo( editToolbar ); // menubar MenuBarEditor = new QMenuBar( this, "MenuBarEditor" ); File = new QPopupMenu( this ); createProfileAction->addTo( File ); openProfileAction->addTo( File ); fileSaveAction->addTo( File ); closeProfileAction->addTo( File ); deleteProfileAction->addTo( File ); changeProfileAction->addTo( File ); File->insertSeparator(); fileQuitAction->addTo( File ); MenuBarEditor->insertItem( QString(""), File, 1 ); Edit = new QPopupMenu( this ); editUndoAction->addTo( Edit ); editRedoAction->addTo( Edit ); Edit->insertSeparator(); editNewField->addTo( Edit ); editEditField->addTo( Edit ); editDeleteField->addTo( Edit ); editDeleteAll->addTo(Edit); MenuBarEditor->insertItem( QString(""), Edit, 2 ); Help = new QPopupMenu( this ); helpAboutAction->addTo( Help ); MenuBarEditor->insertItem( QString(""), Help, 3 ); rmbMenu = new QPopupMenu( this ); editUndoAction->addTo( rmbMenu ); editRedoAction->addTo( rmbMenu ); rmbMenu->insertSeparator(); editNewField->addTo( rmbMenu ); editEditField->addTo( rmbMenu ); editDeleteField->addTo( rmbMenu ); languageChange(); resize( QSize(700, 400).expandedTo(minimumSizeHint()) ); clearWState( WState_Polished ); connect(createProfileAction, SIGNAL( activated() ), this, SLOT( createProfile() ) ); connect(openProfileAction, SIGNAL( activated() ), this, SLOT( openProfile() ) ); connect(tb_openProfileAction, SIGNAL( activated() ), this, SLOT( openProfile() ) ); connect(closeProfileAction, SIGNAL( activated() ), this, SLOT( closeProfile() ) ); connect(tb_closeProfileAction, SIGNAL( activated() ), this, SLOT( closeProfile() ) ); connect(deleteProfileAction, SIGNAL( activated() ), this, SLOT( deleteProfile() ) ); connect(changeProfileAction, SIGNAL( activated() ), this, SLOT( changeProfile() ) ); connect(fileSaveAction, SIGNAL( activated() ), this, SLOT( save() ) ); connect(tb_fileSaveAction, SIGNAL( activated() ), this, SLOT( save() ) ); connect(fileQuitAction, SIGNAL( activated() ), this, SLOT( close() ) ); connect(editUndoAction, SIGNAL( activated() ), this, SLOT( undo() ) ); connect(tb_editUndoAction, SIGNAL( activated() ), this, SLOT( undo() ) ); connect(editRedoAction, SIGNAL( activated() ), this, SLOT( redo() ) ); connect(tb_editRedoAction, SIGNAL( activated() ), this, SLOT( redo() ) ); connect(editNewField, SIGNAL( activated() ), this, SLOT( newField() ) ); connect(tb_editNewField, SIGNAL( activated() ), this, SLOT( newField() ) ); connect(editEditField, SIGNAL(activated() ), this, SLOT( editField() ) ); connect(tb_editEditField, SIGNAL(activated() ), this, SLOT( editField() ) ); connect(editDeleteField, SIGNAL( activated() ), this, SLOT( deleteField() ) ); connect(tb_editDeleteField, SIGNAL( activated() ), this, SLOT( deleteField() ) ); connect(editDeleteAll, SIGNAL( activated() ), this, SLOT( deleteAll() ) ); connect(helpAboutAction, SIGNAL( activated() ), this, SLOT( about() ) ); connect(listView, SIGNAL( doubleClicked(QListViewItem *) ), this, SLOT( edit(QListViewItem *) ) ); connect(listView, SIGNAL( contextMenuRequested( QListViewItem *, const QPoint&, int) ), this, SLOT( slotRMB( QListViewItem*, const QPoint &, int ) ) ); modified = false; Caption(); if(!ifProfileExists()) createProfile(); else setEnabledActions(1); }