Beispiel #1
0
void StartupView::showDetailsForItem( const QModelIndex & index )
{
  QLayout * layout = m_projectDetailView->layout();

  for( int i = 0; i < layout->count(); i++ )
  {
    delete layout->itemAt(i)->widget();
    layout->removeItem(layout->itemAt(i));
  }

  QString name = m_templateListModel->data(index,Qt::ToolTipRole).toString();

  QString description = m_templateListModel->data(index,Qt::WhatsThisRole).toString();

  if( ! name.isEmpty() )
  {
    QLabel * nameLabel = new QLabel(name);

    nameLabel->setStyleSheet("QLabel { font: bold }");

    layout->addWidget(nameLabel);
  }

  if( ! description.isEmpty() )
  {
    QTextEdit * descriptionLabel = new QTextEdit(description);
    
    descriptionLabel->setStyleSheet("QTextEdit { border: none; }");
    
    descriptionLabel->setReadOnly(true);

    layout->addWidget(descriptionLabel);
  }

}
Beispiel #2
0
void AboutDialog::displayFile(const QString &fileName, const QString &title)
{
    QDialog *dialog = new QDialog(this);
    QLayout *layout = new QVBoxLayout(dialog);
    QTextEdit *textEdit = new QTextEdit(dialog);
    QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Close, Qt::Horizontal, dialog);

    textEdit->setStyleSheet(QLatin1String("font-family: monospace"));

    QFile file(fileName);
    if (file.open(QIODevice::ReadOnly)) {
        QString text = QTextStream(&file).readAll();
        textEdit->setPlainText(text);
    }

    textEdit->setReadOnly(true);
    connect(buttonBox, SIGNAL(rejected()), dialog, SLOT(close()));
    buttonBox->setCenterButtons(true);
    layout->addWidget(textEdit);
    layout->addWidget(buttonBox);
    layout->setMargin(6);

    dialog->setLayout(layout);
    dialog->setWindowTitle(title);
    dialog->setWindowFlags(Qt::Sheet);
    dialog->resize(600, 350);
    dialog->exec();
}
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    //ui->setupUi(this);
    //ustvarim Widget
    centralWidget = new QWidget(this);
    this->setCentralWidget( centralWidget );
    centralWidget->setWindowTitle("DLX");
    centralWidget->setMaximumSize(1000, 1000);
    centralWidget->setMinimumSize(10, 10);
    centralWidget->resize(400,400);
    mainLayout = new QGridLayout( centralWidget );
    mainLayout->setSpacing(0);
    for(int mr = 0; mr < 3; mr++)//ustvarim 3 vrstice
    {
        for(int mc = 0; mc < 3; mc++)//ustvarim 3 stolpce
        {
            //veliki robovi
            QFrame * widget = new QFrame;
            widget->setFrameStyle(QFrame::Plain);
            widget->setFrameShape(QFrame::Box);

            //znotraj velikih robov se en grid
            QGridLayout * gridLayout = new QGridLayout(widget);
            gridLayout->setSpacing(0);
            gridLayout->setMargin(0);

            for(int r = 0; r < 3; r++)//3 vrstice
            {
                for(int c = 0; c < 3; c++)//3 stolpci
                {
                    //ustvarim skatlo s textom
                    QTextEdit * tile = new QTextEdit("");
                    tile->setFrameStyle(QFrame::Plain);
                    tile->setFrameShape(QFrame::Box);
                    tile->setAlignment(Qt::AlignCenter);
                    tile->setTabChangesFocus(true);
                    tile->setStyleSheet("font: 24pt ;");

                    gridLayout->addWidget(tile, r, c, 1, 1, Qt::AlignCenter);
                }
            }
           mainLayout->addWidget(widget, mr, mc, 1, 1, Qt::AlignCenter);
        }
    }
    //ustvarim menu z eventom
    QMenuBar* menuBar = new QMenuBar();
    QMenu *fileMenu = new QMenu("Algoritem");
    menuBar->addMenu(fileMenu);
    QAction *helpAction = fileMenu->addAction("Find solution");
    connect(helpAction, SIGNAL(triggered()), this, SLOT(algoritem()));
    centralWidget->layout()->setMenuBar(menuBar);
    QMenu *fileMenu1 = new QMenu("Input");
    menuBar->addMenu(fileMenu1);
    QAction *Action = fileMenu1->addAction("Reset");
    connect(Action, SIGNAL(triggered()), this, SLOT(reset()));
    QAction *Action2 = fileMenu1->addAction("Qassim Hamza");
    connect(Action2, SIGNAL(triggered()), this, SLOT(hamza()));
}
void SmartCat::printDataToMessageList()
{
    qDebug() << "printMessages title=" << currentDialog.title();


    vk->loadHistory( currentDialog.id() );
    ui->lNameDialog->setText( currentDialog.title() );

    User selfUser = vk->currentUser();
    ui->listMessages->clear();

    for(QMap<int, Message>::iterator itr = vk->history.begin()+1; itr != vk->history.end(); itr++)
    {
        Message message = itr.value();
        QListWidgetItem *item_mess = new QListWidgetItem();
        item_mess->setSizeHint(QSize(0,200));

        QWidget *widget = new QWidget();
        QHBoxLayout *layout = new QHBoxLayout();
        QVBoxLayout *vlayout = new QVBoxLayout();

        QTextEdit *textEdit = new QTextEdit( message.text() );
        QLabel *photo = new QLabel();
        QLabel *label = new QLabel();

        if( message.from().id() != selfUser.id() )
        {
            QPixmap pix( message.from().avatar50px() );
            label->setPixmap( pix );
            label->setStyleSheet("width: 25px; height: 25px; border-radius: 25px;");
            textEdit->setStyleSheet("border-radius: 20px; background: rgb(216,216,216); color: rgb(0,0,0); margin: 7px; padding: 10px;");

            layout->addWidget( label );

            if( !(message.attachment().isEmpty()) )
            {
                qDebug() << "!=";

                for(int i = 0; i < message.attachment().size(); i++)
                {
                    if( message.attachment().at(i).first == "photo")
                    {
                        QPixmap pix_photo( message.attachment().at(i).second.photo75() );
                        photo->setPixmap( pix_photo );
                        if(message.text() != "") vlayout->addWidget( textEdit );
                        vlayout->addWidget( photo );
                        layout->addLayout( vlayout );
                    }
                }
            }
            else
            {
                layout->addWidget( textEdit );
            }

        }


        if( message.from().id() == selfUser.id() )
        {
            QPixmap pix( selfUser.avatar50px() );
            label->setPixmap( pix );
            label->setStyleSheet("width: 25px; height: 25px; border-radius: 25px;");
            textEdit->setStyleSheet("border-radius: 20px; background: rgb(34,107,179); color: rgb(255,255,255); margin: 7px; padding: 10px;");

            if( !(message.attachment().isEmpty()) )
            {
                for(int i = 0; i < message.attachment().size(); i++)
                {
                    if( message.attachment().at(i).first == "photo")
                    {
                        QPixmap pix_photo( message.attachment().at(i).second.photo75() );
                        photo->setPixmap( pix_photo );
                        if(message.text() != "") vlayout->addWidget( textEdit );
                        vlayout->addWidget( photo );
                        layout->addLayout( vlayout );
                    }
                }
            }
            else
            {
                layout->addWidget( textEdit );
            }
            layout->addWidget( label );
        }

        widget->setLayout(layout);

        ui->listMessages->addItem( item_mess );
        ui->listMessages->setItemWidget(item_mess, widget );
    }
}
TrayNotificationWidget::TrayNotificationWidget(QPixmap pixmapIcon, QString headerText, QString messageText) : QWidget(0)
{
    setWindowFlags(
        #ifdef Q_OS_MAC
            Qt::SubWindow | // This type flag is the second point
        #else
            Qt::Tool |
        #endif
            Qt::FramelessWindowHint |
            Qt::WindowSystemMenuHint |
            Qt::WindowStaysOnTopHint
        );
    setAttribute(Qt::WA_NoSystemBackground, true);
    // set the parent widget's background to translucent
    setAttribute(Qt::WA_TranslucentBackground, true);

    //setAttribute(Qt::WA_ShowWithoutActivating, true);

    setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
    // create a display widget for displaying child widgets
    QWidget* displayWidget = new QWidget;
    displayWidget->setStyleSheet(".QWidget { background-color: rgba(0, 0, 0, 75%); border-width: 1px; border-style: solid; border-radius: 10px; border-color: #555555; } .QWidget:hover { background-color: rgba(68, 68, 68, 75%); border-width: 2px; border-style: solid; border-radius: 10px; border-color: #ffffff; }");

    QLabel* icon = new QLabel;
    icon->setPixmap(pixmapIcon);
    icon->setMaximumSize(32, 32);
    QLabel* header = new QLabel;
    header->setMaximumSize(250, 50);
    header->setWordWrap(true);
    header->setText(headerText);
    header->setStyleSheet("QLabel { color: #ffffff; font-weight: bold; font-size: 12px; }");
    QTextEdit *message = new QTextEdit;
    message->setReadOnly(true);
    message->setFrameStyle(QFrame::NoFrame);
    message->setLineWrapMode(QTextEdit::WidgetWidth);
    message->setWordWrapMode(QTextOption::WrapAnywhere);
    QPalette pal = palette();
    pal.setColor(QPalette::Base, Qt::transparent);
    message->setPalette(pal);
    message->setStyleSheet("QTextEdit { color: #ffffff; font-size: 10px; }");
    message->setText(messageText);
    message->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

    QVBoxLayout* vl = new QVBoxLayout;
    vl->addWidget(header);
    vl->addWidget(message);

    QHBoxLayout* displayMainLayout = new QHBoxLayout;
    displayMainLayout->addWidget(icon);
    displayMainLayout->addLayout(vl);
    displayWidget->setLayout(displayMainLayout);

    QHBoxLayout* containerLayout = new QHBoxLayout;
    containerLayout->addWidget(displayWidget);
    setLayout(containerLayout);

    show();
    setMinimumHeight((int)(message->document()->size().height() *1.5 + header->height() +70));

    timeout = new QTimer(this);
    connect(timeout, SIGNAL(timeout()), this, SLOT(fadeOut()));
    timeout->start(3000);
}
Beispiel #6
0
void Dialog::appendToHistory(const QString& name, const QDateTime& sendTime, QTextDocument *document, InsertingMode mode) {
    QListWidgetItem *item = new QListWidgetItem();
    QTextEdit *te = new QTextEdit();
    lwHistory->addItem(item);
    te->setReadOnly(true);
    reloadResource(te);
    lwHistory->setItemWidget(item, te);
    QString color;
    if (name == "You")
        color = "blue";
    else
        color = "red";

    te->append(QString("<font color = \"%1\"> <b>" + name + "</b> (" + sendTime.toString("dd-MM-yyyy hh:mm:ss") + "):</font>").arg(color));
    te->moveCursor(QTextCursor::End);
    te->textCursor().insertBlock();
    te->textCursor().insertFragment(QTextDocumentFragment(document));

    int heig = 17, widthTe = parentWidget()->width();
    int curLine = 0;
    int mx = 0;

    for (QTextBlock bl = te->document()->begin(); bl != te->document()->end(); bl = bl.next())
        if (bl.isValid()) {
            if (bl.begin().atEnd()) {
                heig += 17 + mx;//&&&
                curLine = mx = 0;
                continue;
            }

            for (QTextBlock::iterator it = bl.begin(); !it.atEnd(); ++it) {
                QTextFragment fragm = it.fragment();
                int curw, curh;
                if (fragm.isValid() && fragm.charFormat().isImageFormat()) {
                    curw = smiles->width() / W_CNT;
                    curh = smiles->height() / H_CNT;
                    processCalc(heig, mx, curLine, curw, curh);
                } else if (fragm.isValid()) {
                    QString s = fragm.text();
                    QFontMetrics me(fragm.charFormat().font());
                    curh = me.lineSpacing();
                    for (int j = 0; j < s.size(); ++j) {
                        curw = me.width(s[j]);
                        processCalc(heig, mx, curLine, curw, curh);
                    }
                }
            }
            heig += mx;
            mx = curLine = 0;
        }

    te->setStyleSheet(QString("QFrame {"
                 "border: 2px solid #f3f2f1;"
                 "border-radius: 4px;"
                  "padding: 2px;}"));
    item->setSizeHint(QSize(0, heig + 18));
    te->resize(QSize(widthTe, heig));
    lwHistory->scrollToBottom();

    if (mode == ReceivedMessage && !dgReadByUser) {
        setUnreadMessage(unreadMessage + 1);
        queUnreadWrote.push_back(te);
        te->setStyleSheet("QTextEdit { background-color: #FFFCCC; }");
    } else if (mode == LoadHistory) {

        if (unreadMessage != 0) {
            queUnreadWrote.push_back(te);
            te->setStyleSheet("QTextEdit { background-color: #FFFCCC; }");
            if (queUnreadWrote.size() > unreadMessage) {
                queUnreadWrote.front()->setStyleSheet("QTextEdit { background-color: #FFFFFF; }");
                queUnreadWrote.pop_front();
            }
        }

        if (wroteMessage != 0) {
            queUnreadWrote.push_back(te);
            te->setStyleSheet("QTextEdit { background-color: #DFFFCC; }");
            if (queUnreadWrote.size() > wroteMessage) {
                queUnreadWrote.front()->setStyleSheet("QTextEdit { background-color: #FFFFFF; }");
                queUnreadWrote.pop_front();
            }
        }

    } else if (mode == SendMessage) {
        teMessage->setFocus();
        te->setStyleSheet("QTextEdit { background-color: #DFFFCC; }");
        wroteMessage++;
        queUnreadWrote.push_back(te);
    }
}
Beispiel #7
0
RulesEditor::RulesEditor(DataBaseManager* db, ServiceManager* sv_man, QWidget *parent)
    : QWidget(parent)
    , database_manager_(db)
    , service_manager_(sv_man)
{

    setWindowTitle("Редактор правил");
    setFixedSize(400, 400);


    QGroupBox* field_names_combo = new QGroupBox("Имена полей");
    QTextEdit* names = new QTextEdit();
    names->setReadOnly(true);
    names->setText(QString("Время начала сессии: ") + "StartTime \n"
                   + "Время конца сессии: " + "EndTime\n" + "Имя Exe файла: "
                   + "ExeName \n"  +  "Название приложения: " + "Name\n"
                   + "Тип приложения: " + "Type\n"
                   + "Web адрес: " + "Uri\n" + "Заголовок окна: "
                   + "Title \n\n Пример : \n Name LIKE \"%Skype%\" AND Type = \"Браузер\" \n!!!Идентификаторы должны быть в двойных кавычках!!!");
    names->setStyleSheet(QString::fromUtf8("background-color: rgb(240, 240, 240);"));
    QHBoxLayout* l_names = new QHBoxLayout();
    l_names->addWidget(names);
    field_names_combo->setLayout(l_names);


    QLabel* rule_label = new QLabel("Правило :");
    rule_edit_ = new QLineEdit();


    b_add_rule_ = new QPushButton("Добавить");

    initRuleTypeBox();

    priority_slider_ = new QSlider(Qt::Horizontal);


    priority_slider_->setRange(1,10);
    priority_slider_->setTickInterval(1);
    priority_slider_->setTickPosition(QSlider::TicksAbove);

    QLabel* slider_label = new QLabel("Приоритет");

    QVBoxLayout* v_layout1 = new QVBoxLayout();
    v_layout1->addWidget(slider_label);
    v_layout1->addWidget(priority_slider_);
    v_layout1->addWidget(b_add_rule_);

    QHBoxLayout* h_layout = new QHBoxLayout();

    h_layout->addWidget(rule_type_box_);
    h_layout->addLayout(v_layout1);




    QVBoxLayout* v_layout = new QVBoxLayout();

    v_layout->addWidget(field_names_combo);
    v_layout->addWidget(rule_label);
    v_layout->addWidget(rule_edit_);
    v_layout->addLayout(h_layout);




    setLayout(v_layout);

    QObject::connect(b_add_rule_, SIGNAL(clicked()), this, SLOT(slotAddRule()));


}