00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "connection.h"
00023
00024 #include "gui/widgets/button.h"
00025 #include "gui/widgets/label.h"
00026 #include "gui/widgets/progressbar.h"
00027
00028 #include "main.h"
00029 #include "log.h"
00030
00031 #include "utils/gettext.h"
00032
00033 ConnectionDialog::ConnectionDialog(int previousState):
00034 Window("Info"), mProgress(0), mPreviousState(previousState)
00035 {
00036 setContentSize(200, 100);
00037
00038 Button *cancelButton = new Button(_("Cancel"), "cancelButton", this);
00039 mProgressBar = new ProgressBar(0.0, 200 - 10, 20, 128, 128, 128);
00040 gcn::Label *label = new Label(_("Connecting..."));
00041
00042 cancelButton->setPosition(5, 100 - 5 - cancelButton->getHeight());
00043 mProgressBar->setPosition(5, cancelButton->getY() - 25);
00044 label->setPosition(5, mProgressBar->getY() - 25);
00045
00046 add(label);
00047 add(cancelButton);
00048 add(mProgressBar);
00049
00050 center();
00051 setVisible(true);
00052 }
00053
00054 void ConnectionDialog::action(const gcn::ActionEvent &)
00055 {
00056 logger->log("Cancel pressed");
00057 state = mPreviousState;
00058 }
00059
00060 void ConnectionDialog::logic()
00061 {
00062 mProgress += 0.005f;
00063
00064 if (mProgress > 1.0f)
00065 mProgress = 0.0f;
00066
00067 mProgressBar->setProgress(mProgress);
00068 Window::logic();
00069 }