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(); }
/**************************************************************************** ** ** 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(); }
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; }