예제 #1
0
파일: on.cpp 프로젝트: luisivan/on
On::On(QWidget *parent)
    : QWebView(parent)
{
    setWindow();
    setWebSettings();
    setWallpaper();
    setNative();
    getRDConf();
    loadByLanguage();
    //setUrl(QUrl("/usr/share/on/shell/index.html"));
    connect(page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(setNative()));
    //setWatchers();
    QFuture<void> future = QtConcurrent::run(this, &On::setWatchers);
}
예제 #2
0
AppWidget::AppWidget(QWidget *parent, const char *name):QWidget(parent)
  , mpSplitter(NULL)
  , mpWebView(NULL)
  , mpLayout(NULL)
  , mpSelectors(NULL)
  , mpQtToJS(NULL)
  //, mpJSToQt(NULL)
  , mpSelectorLayout(NULL)
  , mpLogger(NULL)
  , mpSettings(NULL)
  , mpWebSettings(NULL)
  , mpRefreshLayout(NULL)
  , mpRefreshButton(NULL)
{
    setObjectName(name);
    mpSplitter = new QSplitter(this);
    mpLayout = new QVBoxLayout();
    setLayout(mpLayout);

    mpRefreshLayout = new QHBoxLayout();
    mpRefreshButton = new QPushButton(tr("Refresh"), this);
    mpRefreshLayout->addWidget(mpRefreshButton, 0);
    mpRefreshLayout->addStretch(1);
    mpLayout->addLayout(mpRefreshLayout);

    mpLayout->addWidget(mpSplitter);
    mpSplitter->setOrientation(Qt::Vertical);

    mpWebView = new QWebView(this);
    mpWebView->setStyleSheet(QString("background-color:white;"));
    mpWebView->load(QUrl(""));
    setWebSettings();
    mpSplitter->addWidget(mpWebView);

    mpSelectors = new QWidget(this);
    mpSelectorLayout = new QHBoxLayout();
    mpSelectors->setLayout(mpSelectorLayout);
    mpQtToJS = new MessageSelector("QT -> JS");
    //mpJSToQt = new MessageSelector("JS -> QT");
    mpSelectorLayout->addWidget(mpQtToJS);
    //mpSelectorLayout->addWidget(mpJSToQt);

    QString qsMsgFiles;
    QString qsMsgFilename = "msg.config";

#ifdef Q_WS_MAC
    qsMsgFiles = QString("%0/../Resources/%1").arg(QApplication::applicationDirPath()).arg(qsMsgFilename);
#else
    qsMsgFiles = qsMsgFilename;
#endif

    populateMessages(qsMsgFiles);

    mpSplitter->addWidget(mpSelectors);

    mpLogger = new LogWidget(this);
    mpSplitter->addWidget(mpLogger);

    connect(mpQtToJS, SIGNAL(sendMessage(int, const QString&)), this, SLOT(onMessageSentToJS(int, const QString&)));
    //connect(mpJSToQt, SIGNAL(sendMessage(int, const QString&)), this, SLOT(onMessageSentToQt(int, const QString&)));
    connect(this, SIGNAL(widgetLoaded()), mpQtToJS, SLOT(onLoaded()));
    //connect(this, SIGNAL(widgetLoaded()), mpJSToQt, SLOT(onLoaded()));
    connect(mpRefreshButton, SIGNAL(clicked()), this, SLOT(onRefreshButtonClicked()));
}