Skip to content

Commit

Permalink
Merge pull request mrkite#68 from EtlamGit/Extended-Command-Line
Browse files Browse the repository at this point in the history
Extended command line interface
  • Loading branch information
mrkite committed Jul 4, 2015
2 parents 4ec245b + 5ba1bc8 commit 557dbb1
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 5 deletions.
37 changes: 35 additions & 2 deletions main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,18 +49,51 @@ int main(int argc,char *argv[])

// Process the cmdline arguments:
QStringList args = app.arguments();
size_t numArgs = args.size();
for (size_t i = 0; i < numArgs; i++)
int numArgs = args.size();
for (int i = 0; i < numArgs; i++)
{
if (((args[i] == "-w") || (args[i] == "--world")) && (i + 1 < numArgs))
{
minutor.loadWorld(args[i + 1]);
i += 1;
continue;
}
if (((args[i] == "-s") || (args[i] == "--savepng")) && (i + 1 < numArgs))
{
minutor.savePNG( args[i + 1], true );
i += 1;
continue;
}
if (((args[i] == "-j") || (args[i] == "--jump")) && (i + 2 < numArgs))
{
minutor.jumpToXZ(args[i + 1].toInt(), args[i + 2].toInt());
i += 2;
continue;
}
if (((args[i] == "-y") || (args[i] == "--depth")) && (i + 1 < numArgs))
{
minutor.setDepth( args[i + 1].toInt() );
i += 1;
continue;
}

// menu View->
if ((args[i] == "-L") || (args[i] == "--lighting"))
{
minutor.setViewLighting(true);
continue;
}
if ((args[i] == "-M") || (args[i] == "--mobspawning"))
{
minutor.setViewMobspawning(true);
continue;
}
if ((args[i] == "-D") || (args[i] == "--depthshading"))
{
minutor.setViewDepthshading(true);
continue;
}

} // for itr - args[]

minutor.show();
Expand Down
40 changes: 40 additions & 0 deletions minutor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,13 @@ void Minutor::save()
QFileDialog fileDialog(this);
fileDialog.setDefaultSuffix("png");
QString filename = fileDialog.getSaveFileName(this,tr("Save world as PNG"),QString(),"*.png");

savePNG( filename, false );
}

void Minutor::savePNG( QString filename, bool autoclose )
{
progressAutoclose = autoclose;
if (!filename.isEmpty())
{
WorldSave *ws=new WorldSave(filename,mapview);
Expand All @@ -169,15 +176,19 @@ void Minutor::save()
}
}


void Minutor::saveProgress(QString status, double value)
{
progress->setValue(value*100);
progress->setLabelText(status);
}

void Minutor::saveFinished()
{
progress->hide();
delete progress;
if (progressAutoclose)
this->close();
}

void Minutor::closeWorld()
Expand Down Expand Up @@ -210,6 +221,35 @@ void Minutor::jumpToXZ(int blockX, int blockZ)
mapview->setLocation(blockX, blockZ);
}

void Minutor::setViewLighting( bool value )
{
lightingAct->setChecked( value );
toggleFlags();
}

void Minutor::setViewMobspawning( bool value )
{
mobSpawnAct->setChecked( value );
toggleFlags();
}

void Minutor::setViewCavemode( bool value )
{
depthShadingAct->setChecked( value );
toggleFlags();
}

void Minutor::setViewDepthshading( bool value )
{
lightingAct->setChecked( value );
toggleFlags();
}

void Minutor::setDepth( int value )
{
depth->setValue( value );
}

void Minutor::toggleFlags()
{
int flags = 0;
Expand Down
15 changes: 12 additions & 3 deletions minutor.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,18 @@ class Minutor : public QMainWindow
public:
Minutor();

void loadWorld(QDir path);
void loadWorld( QDir path );

/// Jumps to the block coords provided
void jumpToXZ(int blockX, int blockZ);
void savePNG( QString filename, bool autoclose );

void jumpToXZ( int blockX, int blockZ ); // jumps to the block coords provided

void setViewLighting( bool value ); // set View->Ligthing
void setViewMobspawning( bool value ); // set View->Mob_Spawning
void setViewCavemode( bool value ); // set View->Cave_Mode
void setViewDepthshading( bool value ); // set View->Depth_Shading

void setDepth( int value ); // set Depth-Slider

private slots:
void openWorld();
Expand Down Expand Up @@ -105,6 +113,7 @@ private slots:
MapView *mapview;
LabelledSlider *depth;
QProgressDialog *progress;
bool progressAutoclose;

QMenu *fileMenu, *worldMenu;
QMenu *viewMenu, *jumpMenu, *dimMenu;
Expand Down

0 comments on commit 557dbb1

Please sign in to comment.