Exemple #1
0
int main (int argc, char *argv[]){
    
    // Normalize names from input
    stripLeadingSlashes(argc, argv);

    int command = -1;

    if (argc < 3){
	fprintf(stderr, "Far: Far r|x|d|t archive [filename]*\n");
	return -1;
    } else if (!strcmp("r", argv[1])){
	command = R;
    } else if (!strcmp("t", argv[1])){
	command = T;
    } else if (!strcmp("x", argv[1])){
	command = X;
    } else if(!strcmp("d", argv[1])){
	command = D;
    }else {
	fprintf(stderr, "Far: Far r|x|d|t archive [filename]*\n");
	return -1;
    }

    if(scanArchive(argc, argv, command) == -1){
	fprintf(stderr, "Error %s: %s\n", errDesc, strerror(errno));
    }

    return 0;
}
/****************************************************************************
**
** Copyright (C) 2015
**
** This file is generated by the Magus toolkit
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
****************************************************************************/

// Include
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QMessageBox>
#include <QDir>
#include <QImageReader>
#include <QListWidgetItem>
#include <QProcess>
#include "magus_core.h"
#include "tool_extended_texturewidget.h"

namespace Magus
{
    //****************************************************************************/
    QtTextureAndText::QtTextureAndText(const QPixmap& pixmap,
                                       const QString& name,
                                       const QString& baseName,
                                       const QSize& size,
                                       QWidget* parent) : QWidget(parent)
    {
        setContentsMargins(-8, -8, -8, -8);
        QHBoxLayout* mainLayout = new QHBoxLayout;
        QVBoxLayout* sphereAndNameLayout = new QVBoxLayout;
        mName = name;
        mBaseName = baseName;
        mSphereWidget = new QtGLSphereWidget(this);
        mSphereWidget->setPixmap(pixmap, name, baseName);
        mBaseNameEdit = new QLineEdit;
        mBaseNameEdit->setText(mBaseName);
        mBaseNameEdit->setEnabled(false);
        connect(mSphereWidget, SIGNAL(selected(QString,QString)), this, SLOT(handleSelected(QString,QString)));
        connect(mSphereWidget, SIGNAL(doubleClicked(QString,QString)), this, SLOT(handleDoubleClicked(QString,QString)));
        setMouseTracking(true);

        // Layout
        sphereAndNameLayout->addWidget(mSphereWidget, 1000);
        sphereAndNameLayout->addWidget(mBaseNameEdit, 1);
        mainLayout->addLayout(sphereAndNameLayout);
        setLayout(mainLayout);
        setMinimumSize(size);
        setMaximumSize(size);
    }

    //****************************************************************************/
    QtTextureAndText::~QtTextureAndText(void)
    {
    }

    //****************************************************************************/
    void QtTextureAndText::handleSelected(const QString& name, const QString& baseName)
    {
        emit selected(name, baseName);
    }

    //****************************************************************************/
    void QtTextureAndText::handleDoubleClicked(const QString& name, const QString& baseName)
    {
        emit doubleClicked(name, baseName);
    }

    //****************************************************************************/
    //****************************************************************************/
    //****************************************************************************/
    QtExtendedTextureListWidget::QtExtendedTextureListWidget(QWidget* parent) : QListWidget(parent)
    {
        setMouseTracking(true);
        setAcceptDrops(true);
        setDropIndicatorShown(true);
    }

    //****************************************************************************/
    QtExtendedTextureListWidget::~QtExtendedTextureListWidget(void)
    {
    }

    //****************************************************************************/
    void QtExtendedTextureListWidget::keyPressEvent(QKeyEvent* event)
    {
        switch (event->key())
        {
            case Qt::Key_Delete:
            {
                if (count() > 0)
                {
                    QListWidgetItem* item = currentItem();
                    if (item)
                    {
                        QWidget* widget = itemWidget(item);
                        if (widget)
                        {
                            int r = row(item);
                            QtTextureAndText* textureAndText = static_cast<QtTextureAndText*>(widget);
                            QString name = textureAndText->mName;
                            QString baseName = textureAndText->mBaseName;
                            removeItemWidget(item);
                            takeItem(r);
                            emit assetDeleted(name, baseName);
                        }
                    }
                }
            }
            break;
        }

        event->accept();
    }

    //****************************************************************************/
    void QtExtendedTextureListWidget::dropEvent(QDropEvent* event)
    {
        const QMimeData *mimeData = event->mimeData();
        if (mimeData->hasUrls())
        {
            QList<QUrl> urlList = mimeData->urls();
            for (int i = 0; i < urlList.size(); ++i)
            {
                QString baseName = urlList.at(i).fileName();
                if (isTypeBasedOnExtension(baseName, MAGUS_SUPPORTED_IMAGE_FORMATS, MAGUS_SUPPORTED_IMAGE_FORMATS_LENGTH))
                {
                    QString name = urlList.at(i).path();
                    stripLeadingSlashes(name);
                    emit textureFileDropped(name, baseName);
                }
            }
        }
        event->acceptProposedAction();
    }
Exemple #3
0
/****************************************************************************
**
** Copyright (C) 2015
**
** This file is generated by the Magus toolkit
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
****************************************************************************/

// Include
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QMessageBox>
#include <QDir>
#include <QLabel>
#include <QImageReader>
#include <QListWidgetItem>
#include <QMouseEvent>
#include <QProcess>
#include "tool_audiowidget.h"

namespace Magus
{
    //****************************************************************************/
    QtAudioAndText::QtAudioAndText(const QString& iconDir,
                                   Source source,
                                   const QString& name,
                                   const QString& baseName,
                                   const QSize& size,
                                   QWidget* parent) : QWidget(parent)
    {
        setContentsMargins(-8, -8, -8, -8);
        setMinimumSize(size);
        setMaximumSize(size);
        QHBoxLayout* mainLayout = new QHBoxLayout;
        QVBoxLayout* audioAndNameLayout = new QVBoxLayout;
        mPixmapAudioPlay = QPixmap(iconDir + TOOL_AUDIOWIDGET_ICON_PLAY);
        mPixmapAudioPause = QPixmap(iconDir + TOOL_AUDIOWIDGET_ICON_PAUSE);
        mPixmapAudioStop = QPixmap(iconDir + TOOL_AUDIOWIDGET_ICON_STOP);

        mName = name;
        mBaseName = baseName;
        mSource = source;
        mBaseNameEdit = new QLineEdit;
        mBaseNameEdit->setText(mBaseName);
        mBaseNameEdit->setEnabled(false);

        mTextureLabel = new QLabel();
        mTextureLabel->setPixmap(mPixmapAudioStop);
        mTextureLabel->setScaledContents(true);
        setMouseTracking(true);

        // Layout
        audioAndNameLayout->addWidget(mTextureLabel, 1000);
        audioAndNameLayout->addWidget(mBaseNameEdit, 1);
        mainLayout->addLayout(audioAndNameLayout);
        setLayout(mainLayout);
    }

    //****************************************************************************/
    QtAudioAndText::~QtAudioAndText(void)
    {
    }

    //****************************************************************************/
    void QtAudioAndText::setPlay(void)
    {
        mTextureLabel->setPixmap(mPixmapAudioPlay);
    }

    //****************************************************************************/
    void QtAudioAndText::setPause(void)
    {
        mTextureLabel->setPixmap(mPixmapAudioPause);
    }

    //****************************************************************************/
    void QtAudioAndText::setStop(void)
    {
        mTextureLabel->setPixmap(mPixmapAudioStop);
    }

    //****************************************************************************/
    //****************************************************************************/
    //****************************************************************************/
    QtAudioListWidget::QtAudioListWidget(QWidget* parent) : QListWidget(parent)
    {
        setMouseTracking(true);
        setAcceptDrops(true);
        setDropIndicatorShown(true);
    }

    //****************************************************************************/
    QtAudioListWidget::~QtAudioListWidget(void)
    {
    }

    //****************************************************************************/
    void QtAudioListWidget::keyPressEvent(QKeyEvent* event)
    {
        switch (event->key())
        {
            case Qt::Key_Delete:
            {
                if (count() > 0)
                {
                    QListWidgetItem* item = currentItem();
                    if (item)
                    {
                        QWidget* widget = itemWidget(item);
                        if (widget)
                        {
                            int r = row(item);
                            QtAudioAndText* audioAndText = static_cast<QtAudioAndText*>(widget);
                            QString name = audioAndText->mName;
                            QString baseName = audioAndText->mBaseName;
                            removeItemWidget(item);
                            takeItem(r);
                            emit assetDeleted(name, baseName);
                        }
                    }
                }
            }
            break;
        }

        event->accept();
    }

    //****************************************************************************/
    void QtAudioListWidget::dropEvent(QDropEvent* event)
    {
        const QMimeData *mimeData = event->mimeData();
        if (mimeData->hasUrls())
        {
            QList<QUrl> urlList = mimeData->urls();
            for (int i = 0; i < urlList.size(); ++i)
            {
                QString baseName = urlList.at(i).fileName();
                if (isTypeBasedOnExtension(baseName, MAGUS_SUPPORTED_AUDIO_FORMATS, MAGUS_SUPPORTED_AUDIO_FORMATS_LENGTH))
                {
                    QString name = urlList.at(i).path();
                    stripLeadingSlashes(name);
                    //QMessageBox::information(0, QString("drop"), name); // test
                    emit audioFileDropped(name, baseName);
                }
            }
        }
        event->acceptProposedAction();
    }
Exemple #4
0
int main (int argc, char *argv[]){
    
    // Normalize names from input
    stripLeadingSlashes(argc, argv);

    if (argc < 3){
	fprintf(stderr, "Far: Far r|x|d|t archive [filename]*\n");
    } else if (!strcmp("r", argv[1])){
	// User wants to add or update files to directory
	if(rcommand(argc, argv) == 0){
	    // R command finished successfully
	}else {
	    fprintf(stderr, "Error %s: %s\n", errDesc, strerror(errno));
	}
    } else if (!strcmp("t", argv[1])){
	if(tcommand(argc, argv) == 0){
	    // T command finished successfully
	}else{
	    fprintf(stderr, "Error %s: %s\n", errDesc, strerror(errno));
	}
    } else if (!strcmp("x", argv[1])){
	if(xcommand(argc, argv) == 0){
	    // X command finished successfully
	}else {
	    fprintf(stderr, "Error %s: %s\n", errDesc, strerror(errno));
	}
    } else if(!strcmp("d", argv[1])){
	if(dcommand(argc, argv) == 0){
	    // D command finished successfully
	}else {
	    fprintf(stderr, "Error %s: %s\n", errDesc, strerror(errno));
	}
    }else {
	fprintf(stderr, "Far: Far r|x|d|t archive [filename]*\n");
    }
    return 0;
}