LocalFileMonitor::LocalFileMonitor(QObject *parent) :
    QObject(parent)
{
    this->refreshTimer.start(30000000);
    this->fsWatch = new QFileSystemWatcher(this);
    connect(&refreshTimer, SIGNAL(timeout()), this, SLOT(refreshTimerEvent()));
    connect(this->fsWatch, SIGNAL(fileChanged(QString)), this, SLOT(fileChanged(QString)));
    connect(this->fsWatch, SIGNAL(directoryChanged(QString)), this, SLOT(directoryChanged(QString)));
}
Beispiel #2
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // Initial startup checks
    if (!FilePirate::Application().settingsLoaded)
    {
        settingsWindow.setParent(this, Qt::WindowFlags(Qt::Dialog));
        settingsWindow.show();
        settingsWindow.raise();
        settingsWindow.activateWindow();
    }

    // connect signals
    connect(ui->actionExit,SIGNAL(triggered()),this,SLOT(exitClicked()));
    connect(ui->actionAbout_FilePirate,SIGNAL(triggered()),this,SLOT(aboutClicked()));
    connect(ui->actionSettings,SIGNAL(triggered()),this,SLOT(settingsClicked()));
    connect(ui->actionRefreshFileList, SIGNAL(triggered()), FilePirate::Application().fileMon, SLOT(refreshTimerEvent()));

    /* set up our active transfers widget */
    activeTranfersWidget = new QTreeView(ui->transfersDock);
    activeTranfersWidget->setModel(new ActiveTransferModel(activeTranfersWidget));
    ui->transfersDock->setWidget(activeTranfersWidget);

    /* users widget */
    usersWidget = new QTreeView();
    usersWidget->setModel(new UserModel(usersWidget, FilePirate::Application().userInfo));
    ui->usersDock->setWidget(usersWidget);

    /* central widget */
    mainTabs = new QTabWidget(this);
    this->setCentralWidget(mainTabs);

    /* chat tab */
    chatTab = new TabChat(mainTabs);
    mainTabs->addTab(chatTab, QIcon(":/icons/res/text-balloon.ico"), "Chat");
    connect(FilePirate::Application().ocean, SIGNAL(messageReceived(QHostAddress,QString,QString)), chatTab, SLOT(newMessage(QHostAddress,QString,QString)));
    connect(chatTab, SIGNAL(messageSent(QString)), FilePirate::Application().ocean, SLOT(sendChatMessage(QString)));

    /* helper connections */
    connect(this, SIGNAL(destroyed()), FilePirate::Application().ocean, SLOT(returnToPort()));

    /* let everybody know we've set sail! */
    FilePirate::Application().ocean->start();
    FilePirate::Application().ocean->sendMessage(NET_OCEAN_SAIL, FilePirate::Application().username);
    FilePirate::Application().userInfo->start();
}