[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: File with valid license but reported as "UNKNOWN"
From: Albert Astals Cid <aacid () kde ! org>
Date: 2013-10-25 18:42:18
Message-ID: 5482044.YsTKRNYhUv () xps
[Download RAW message or body]
El Dijous, 24 d'octubre de 2013, a les 17:41:08, Ben Cooksley va escriure:
> On Thu, Oct 24, 2013 at 11:52 AM, Albert Astals Cid <aacid@kde.org> wrote:
> > Hmmm, anyone knows where the license checker lives?
>
> Hi Albert,
>
> The license checker lives as part of our Git hooks, in kde:repo-management.
> This code was a simple port of our Subversion hooks - so it is quite
> possible a behaviour change / regression slipped in during this process.
The weird thing is that it complained about spectacorplayer_gui.h and not
about spectacorplayer_gui.cpp that seem to me that they have the same header
:.S
>
> > It's complaining about players/spectatorplayer_gui.h in konquest having an
> > invalid license when it seems quite ok to me.
>
> Looks like we might need to adjust our regexes then I guess.
> They can be found from line 820 onwards of hooks/hooklib.py in
> repo-management.
Is there an easy way to run the hook over a local file? I had a look and could
not figure out how to do it.
Cheers,
Albert
>
> > Cheers,
> >
> > Albert
>
> Regards,
> Ben
>
> > El Dimecres, 23 d'octubre de 2013, a les 23:19:47, Nemanja Hirsl va
> >
> > escriure:
> > > Hi Albert et al.
> > >
> > > I'm not sure what might be wrong with license for spectacorplayer_gui.h,
> >
> > do
> >
> > > you know what it could be? License header it the same as for other files
> > > here.
> > >
> > > Thanks,
> > > Nemanja
> > >
> > > On Wednesday, 23. October 2013. 20.39.12 you wrote:
> > > > Git commit 447d9b1dfac51706a64cfe05b4dd955e2041e5db by Nemanja Hirsl,
> >
> > on
> >
> > > > behalf of Alexander Schuch. Committed on 23/10/2013 at 20:32.
> > > > Pushed by nhirsl into branch 'master'.
> > > >
> > > > For AI development it is useful to watch the AIs play. This patch adds
> >
> > a
> >
> > > > new local human spectator player controller which does not have any
> > > > planets and does not count as active player.
> > > > In case all selected player controllers are spectators, or only one
> > > > non-spectating player controller is set, consider the match as
> > > > spectator-only and reject it as there is either no winner at all, or
> >
> > the
> >
> > > > winner is known already (the only non-spectating player).
> > > > REVIEW:113113
> > > >
> > > > M +2 -0 CMakeLists.txt
> > > > M +67 -7 dialogs/newgamedlg.cc
> > > > M +3 -0 dialogs/newgamedlg.h
> > > > M +1 -1 game.cpp
> > > > M +9 -0 gameview.cc
> > > > M +5 -1 players/computerplayer.cpp
> > > > M +1 -0 players/computerplayer.h
> > > > M +1 -4 players/localplayer.cpp
> > > > M +0 -2 players/localplayer.h
> > > > M +1 -1 players/localplayer_gui.cpp
> > > > M +6 -1 players/player.cpp
> > > > M +1 -0 players/player.h
> > > > C +16 -7 players/spectatorplayer.cpp [from:
> > > > players/localplayer_gui.cpp - 071% similarity] C +25 -9
> > > > players/spectatorplayer.h [from: players/localplayer_gui.cpp - 057%
> > > > similarity] C +6 -6 players/spectatorplayer_gui.cpp [from:
> > > > players/localplayer_gui.cpp - 071% similarity] C +10 -11
> > > > players/spectatorplayer_gui.h [from: players/localplayer_gui.cpp -
> > > > 072%
> > > > similarity] [License: UNKNOWN] *
> > > >
> > > > The files marked with a * at the end have a non valid license. Please
> > > > read: http://techbase.kde.org/Policies/Licensing_Policy and use the
> > > > headers which are listed at that page.
> >
> > http://commits.kde.org/konquest/447d9b1dfac51706a64cfe05b4dd955e2041e5db
> >
> > > > diff --git a/CMakeLists.txt b/CMakeLists.txt
> > > > index b67b4ba..1eb87aa 100644
> > > > --- a/CMakeLists.txt
> > > > +++ b/CMakeLists.txt
> > > > @@ -52,6 +52,8 @@ set(konquest_SRCS
> > > >
> > > > players/neutralplayer.cpp
> > > > players/player.cpp
> > > > players/player_gui.cpp
> > > >
> > > > + players/spectatorplayer.cpp
> > > > + players/spectatorplayer_gui.cpp
> > > >
> > > > )
> > > >
> > > > kde4_add_ui_files(konquest_SRCS dialogs/newGameDialog.ui )
> > > >
> > > > diff --git a/dialogs/newgamedlg.cc b/dialogs/newgamedlg.cc
> > > > index 6f376ed..c52f338 100644
> > > > --- a/dialogs/newgamedlg.cc
> > > > +++ b/dialogs/newgamedlg.cc
> > > > @@ -30,6 +30,8 @@
> > > >
> > > > #include "../players/player_gui.h"
> > > > #include "../players/localplayer.h"
> > > > #include "../players/localplayer_gui.h"
> > > >
> > > > +#include "../players/spectatorplayer.h"
> > > > +#include "../players/spectatorplayer_gui.h"
> > > >
> > > > #include "../game.h"
> > > > #include <kconfig.h>
> > > > #include <klocale.h>
> > > >
> > > > @@ -68,10 +70,13 @@ class playersListModel : public
> > > > QAbstractTableModel
> > > >
> > > > {
> > > >
> > > > typedef QPair<QColor, QString> PlayerId;
> > > > QLinkedList<PlayerId> m_availablePlayerId;
> > > >
> > > > + NewGameDlg *m_newGameDlg;
> > > >
> > > > public:
> > > > - playersListModel(QObject *parent, Game *game, const
> >
> > QList<PlayerGui*>
> >
> > > > &selectablePlayer) : - QAbstractTableModel(parent),
> >
> > m_game(game),
> >
> > > > + playersListModel(NewGameDlg *newGameDlg, Game *game, const
> > > > QList<PlayerGui*> &selectablePlayer) : +
> > > > QAbstractTableModel(newGameDlg),
> > > > + m_newGameDlg(newGameDlg),
> > > > + m_game(game),
> > > >
> > > > m_selectablePlayer(selectablePlayer)
> > > >
> > > > {
> > > >
> > > > for(int a = 0; a < MAX_PLAYERS; ++a)
> > > >
> > > > @@ -139,11 +144,17 @@ public:
> > > > Player *player = m_players.at(row);
> > > > if (column == 0)
> > > > {
> > > >
> > > > +
> > > > + // The player name changed.
> > > > +
> > > >
> > > > player->setName(value.toString());
> > > > result = true;
> > > >
> > > > }
> > > > else if (column == 1)
> > > > {
> > > >
> > > > +
> > > > + // The player controller changed.
> > > > +
> > > >
> > > > QString text = value.toString();
> > > >
> > > > Player *newPlayer = getNewPlayerByGuiName(text,
> > > > player->name(), player->color());>
> > > >
> > > > @@ -152,6 +163,8 @@ public:
> > > > m_players[row] = newPlayer;
> > > > m_game->map()->turnOverPlayerPlanets(player,
> > > > newPlayer);
> > > > player->deleteLater();
> > > >
> > > > +
> > > > + m_newGameDlg->updateButtonOk();
> > > >
> > > > result = true;
> > > >
> > > > }
> > > >
> > > > }
> > > >
> > > > @@ -189,6 +202,7 @@ public:
> > > > m_availablePlayerId.pop_front();
> > > > m_players.append(player);
> > > > m_game->setPlayers(m_players);
> > > >
> > > > + m_newGameDlg->updateButtonOk();
> > > >
> > > > }
> > > >
> > > > endInsertRows();
> > > >
> > > > @@ -211,11 +225,36 @@ public:
> > > > m_availablePlayerId.push_back(PlayerId(player->color(),
> > > > player->name()));
> > > > m_players.removeAt(row);
> > > > m_game->setPlayers(m_players);
> > > >
> > > > + m_newGameDlg->updateButtonOk();
> > > >
> > > > endRemoveRows();
> > > >
> > > > }
> > > > return player;
> > > >
> > > > }
> > > >
> > > > +
> > > > + /**
> > > > + * Check if the match is a spectator match, that is, there are
> >
> > not at
> >
> > > > least + * two non-spectating player controllers added.
> > > > + */
> > > > +
> > > > + bool isSpectatorMatch()
> > > > + {
> > > > + int nonSpectatorCount = 0;
> > > > +
> > > > + foreach (Player* player, m_players) {
> > > > + if (!player->isSpectator()) {
> > > > +
> > > > + // The number of players is very limited so it is not
> > > > worth to + // have an additional break in here as soon
> >
> > as
> >
> > > > more than one + // non-spectating player controller is
> > > > found.
> > > > +
> > > > + ++nonSpectatorCount;
> > > > + }
> > > > + }
> > > > +
> > > > + return nonSpectatorCount < 2;
> > > > + }
> > > > +
> > > >
> > > > private:
> > > > /**
> > > >
> > > > @@ -313,6 +352,7 @@ NewGameDlg::NewGameDlg( QWidget *parent, Game
> >
> > *game)
> >
> > > > showButtonSeparator(true);
> > > >
> > > > m_selectablePlayer.push_back(new LocalPlayerGui());
> > > >
> > > > + m_selectablePlayer.push_back(new SpectatorPlayerGui());
> > > >
> > > > m_selectablePlayer.push_back(new AiDefaultWeakGui());
> > > > m_selectablePlayer.push_back(new AiDefaultNormalGui());
> > > > m_selectablePlayer.push_back(new AiDefaultHardGui());
> > > >
> > > > @@ -363,6 +403,7 @@ NewGameDlg::updateOwnerCB()
> > > >
> > > > m_w->OwnerCB->addItem(i18n("neutral"));
> > > >
> > > > }
> > > >
> > > > +
> > > >
> > > > void
> > > > NewGameDlg::init()
> > > > {
> > > >
> > > > @@ -419,11 +460,11 @@ NewGameDlg::slotAddPlayer()
> > > >
> > > > playersListModel *model =
> > > > static_cast<playersListModel*>(m_w->playerList->model());
> > > >
> > > > Player *player = model->addPlayer();
> > > >
> > > > - if (player)
> > > > + if (player) {
> > > >
> > > > m_game->map()->addPlayerPlanetSomewhere(player);
> > > >
> > > > + }
> > > >
> > > > - enableButtonOk(model->rowCount() > 1);
> > > > -
> > > > + updateButtonOk();
> > > >
> > > > updateOwnerCB();
> > > >
> > > > }
> > > >
> > > > @@ -438,8 +479,7 @@ NewGameDlg::slotRemovePlayer()
> > > >
> > > > delete player;
> > > >
> > > > }
> > > >
> > > > - enableButtonOk(model->rowCount() > 1);
> > > > -
> > > > + updateButtonOk();
> > > >
> > > > updateOwnerCB();
> > > >
> > > > }
> > > >
> > > > @@ -586,3 +626,23 @@ NewGameDlg::slotUpdateNeutrals(int count)
> > > >
> > > > if(m_w->map->hasSelection())
> > > >
> > > > slotUpdateSelection(m_w->map->selection());
> > > >
> > > > }
> > > >
> > > > +
> > > > +
> > > > +/**
> > > > + * Enable the "ok" button if the game settings are sane.
> > > > + */
> > > > +
> > > > +void
> > > > +NewGameDlg::updateButtonOk()
> > > > +{
> > > > + playersListModel *model =
> > > > static_cast<playersListModel*>(m_w->playerList->model()); +
> > > > + /**
> > > > + * @todo Check if all non-spectator players have at least one
> >
> > planet.
> >
> > > > + */
> > > > +
> > > > + enableButtonOk(
> > > > + (model->rowCount() > 1) &&
> > > > + (!model->isSpectatorMatch())
> > > > + );
> > > > +}
> > > > diff --git a/dialogs/newgamedlg.h b/dialogs/newgamedlg.h
> > > > index 70e8a1a..bd7333b 100644
> > > > --- a/dialogs/newgamedlg.h
> > > > +++ b/dialogs/newgamedlg.h
> > > >
> > > > @@ -72,6 +72,9 @@ protected slots:
> > > > void slotNewKillPercentage(double);
> > > > void slotNewProduction(int);
> > > >
> > > > +public:
> > > > + void updateButtonOk();
> > > > +
> > > >
> > > > private:
> > > > void updateOwnerCB();
> > > > void init();
> > > >
> > > > diff --git a/game.cpp b/game.cpp
> > > > index 5746b22..43811ca 100644
> > > > --- a/game.cpp
> > > > +++ b/game.cpp
> > > > @@ -180,7 +180,7 @@ void Game::findWinner()
> > > >
> > > > // Check for survivors
> > > > Player *winner = 0;
> > > > foreach (Player *player, m_players) {
> > > >
> > > > - if (player->isNeutral()) {
> > > > + if (player->isNeutral() || player->isSpectator()) {
> > > >
> > > > continue;
> > > >
> > > > }
> > > > if (!player->isDead()) {
> > > >
> > > > diff --git a/gameview.cc b/gameview.cc
> > > > index ebba726..a01bfde 100644
> > > > --- a/gameview.cc
> > > > +++ b/gameview.cc
> > > > @@ -467,6 +467,15 @@ GameView::startNewGame()
> > > >
> > > > delete newGame;
> > > >
> > > > foreach (Player *player, m_game->players()) {
> > > >
> > > > + if (player->isSpectator()) {
> > > > +
> > > > + // All planets a spectator player has assigned are turned
> > > > into
> > > > + // neutral planets so that a spectator player starts
> >
> > without
> >
> > > > + // any planet.
> > > > +
> > > > + m_game->map()->turnOverPlayerPlanets(player,
> > > > m_game->neutral()); + }
> > > > +
> > > >
> > > > LocalPlayer *local = qobject_cast<LocalPlayer*>(player);
> > > > if (local)
> > > >
> > > > connect(local, SIGNAL(canPlay()), this, SLOT(turn()));
> > > >
> > > > diff --git a/players/computerplayer.cpp b/players/computerplayer.cpp
> > > > index f4fd7a2..997894c 100644
> > > > --- a/players/computerplayer.cpp
> > > > +++ b/players/computerplayer.cpp
> > > > @@ -22,7 +22,6 @@
> > > >
> > > > #include "computerplayer.h"
> > > > #include "../game.h"
> > > >
> > > > -#include "../planet.h"
> > > >
> > > > #include <KDebug>
> > > > #include <cmath>
> > > >
> > > > @@ -33,5 +32,10 @@ ComputerPlayer::ComputerPlayer(Game *game,
> > > >
> > > > const QColor &color)
> > > > :
> > > > : Player(game, newName, color)
> > > >
> > > > {
> > > >
> > > > +}
> > > > +
> > > >
> > > > +bool ComputerPlayer::isAiPlayer()
> > > > +{
> > > > + return true;
> > > >
> > > > }
> > > >
> > > > diff --git a/players/computerplayer.h b/players/computerplayer.h
> > > > index 29b6b77..e0637e5 100644
> > > > --- a/players/computerplayer.h
> > > > +++ b/players/computerplayer.h
> > > > @@ -33,6 +33,7 @@ class ComputerPlayer : public Player
> > > >
> > > > protected:
> > > > explicit ComputerPlayer(Game *game, const QString &newName, const
> > > > QColor &color);>
> > > >
> > > > + virtual bool isAiPlayer();
> > > >
> > > > virtual void play() = 0;
> > > >
> > > > signals:
> > > > diff --git a/players/localplayer.cpp b/players/localplayer.cpp
> > > > index dbb47f3..e02d687 100644
> > > > --- a/players/localplayer.cpp
> > > > +++ b/players/localplayer.cpp
> > > > @@ -28,10 +28,6 @@ LocalPlayer::LocalPlayer(Game *game, const QString
> > > > &newName, const QColor &color>
> > > >
> > > > {
> > > > }
> > > >
> > > > -bool LocalPlayer::isAiPlayer()
> > > > -{
> > > > - return false;
> > > > -}
> > > >
> > > > void LocalPlayer::play()
> > > > {
> > > >
> > > > @@ -39,6 +35,7 @@ void LocalPlayer::play()
> > > >
> > > > emit(canPlay());
> > > >
> > > > }
> > > >
> > > > +
> > > >
> > > > void LocalPlayer::done()
> > > > {
> > > >
> > > > kDebug() << name() << "::done";
> > > >
> > > > diff --git a/players/localplayer.h b/players/localplayer.h
> > > > index a12b46f..ce1ca86 100644
> > > > --- a/players/localplayer.h
> > > > +++ b/players/localplayer.h
> > > > @@ -31,8 +31,6 @@ class LocalPlayer : public Player
> > > >
> > > > public:
> > > > explicit LocalPlayer(Game *game, const QString &newName, const
> >
> > QColor
> >
> > > > &color);>
> > > >
> > > > - virtual bool isAiPlayer();
> > > > -
> > > >
> > > > virtual void play();
> > > >
> > > > void done();
> > > >
> > > > diff --git a/players/localplayer_gui.cpp b/players/localplayer_gui.cpp
> > > > index 44a04b5..58b51b1 100644
> > > > --- a/players/localplayer_gui.cpp
> > > > +++ b/players/localplayer_gui.cpp
> > > > @@ -21,7 +21,7 @@
> > > >
> > > > LocalPlayerGui::LocalPlayerGui() :
> > > > - PlayerGui(i18nc("A human player", "Human"))
> > > > + PlayerGui(i18nc("A human player", "Human (Player)"))
> > > >
> > > > {
> > > > }
> > > >
> > > > diff --git a/players/player.cpp b/players/player.cpp
> > > > index 7135127..2bf1306 100644
> > > > --- a/players/player.cpp
> > > > +++ b/players/player.cpp
> > > > @@ -79,7 +79,7 @@ bool Player::isDead()
> > > >
> > > > bool Player::isAiPlayer()
> > > > {
> > > >
> > > > - return true;
> > > > + return false;
> > > >
> > > > }
> > > >
> > > > bool Player::isNeutral()
> > > >
> > > > @@ -87,6 +87,11 @@ bool Player::isNeutral()
> > > >
> > > > return false;
> > > >
> > > > }
> > > >
> > > > +bool Player::isSpectator()
> > > > +{
> > > > + return false;
> > > > +}
> > > > +
> > > >
> > > > QString Player::coloredName() const
> > > > {
> > > >
> > > > return QString("<font color=\"%1\">%2</font>").arg(m_color.name
> >
> > (),
> >
> > > > m_name);
> > > >
> > > > diff --git a/players/player.h b/players/player.h
> > > > index a6d91c4..278b740 100644
> > > > --- a/players/player.h
> > > > +++ b/players/player.h
> > > >
> > > > @@ -36,6 +36,7 @@ public:
> > > > virtual bool isNeutral();
> > > > virtual bool isAiPlayer();
> > > >
> > > > + virtual bool isSpectator();
> > > >
> > > > // Getters and Setters for some fundamental properties.
> > > > QString name() const { return m_name; }
> > > >
> > > > diff --git a/players/localplayer_gui.cpp b/players/spectatorplayer.cpp
> > > > similarity index 71%
> > > > copy from players/localplayer_gui.cpp
> > > > copy to players/spectatorplayer.cpp
> > > > index 44a04b5..67895c9 100644
> > > > --- a/players/localplayer_gui.cpp
> > > > +++ b/players/spectatorplayer.cpp
> > > > @@ -16,18 +16,27 @@
> > > >
> > > > Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> > > > 02110-1301, USA.>
> > > >
> > > > */
> > > >
> > > > -#include "localplayer_gui.h"
> > > > -#include "localplayer.h"
> > > > +#include "spectatorplayer.h"
> > > > +
> > > > +SpectatorPlayer::SpectatorPlayer(
> > > > + Game *game,
> > > > + const QString &newName,
> > > > + const QColor &color)
> > > > + : LocalPlayer(
> > > > + game,
> > > > + newName,
> > > > + color)
> > > > +{
> > > > +}
> > > >
> > > >
> > > > -LocalPlayerGui::LocalPlayerGui() :
> > > > - PlayerGui(i18nc("A human player", "Human"))
> > > > +bool SpectatorPlayer::isDead()
> > > >
> > > > {
> > > >
> > > > + return false;
> > > >
> > > > }
> > > >
> > > > -Player*
> > > > -LocalPlayerGui::createInstance(Game *game, const QString &newName,
> >
> > const
> >
> > > > QColor &color) const +bool SpectatorPlayer::isSpectator()
> > > >
> > > > {
> > > >
> > > > - return new LocalPlayer(game, newName, color);
> > > > + return true;
> > > >
> > > > }
> > > >
> > > > diff --git a/players/localplayer_gui.cpp b/players/spectatorplayer.h
> > > > similarity index 57%
> > > > copy from players/localplayer_gui.cpp
> > > > copy to players/spectatorplayer.h
> > > > index 44a04b5..db7e74d 100644
> > > > --- a/players/localplayer_gui.cpp
> > > > +++ b/players/spectatorplayer.h
> > > > @@ -16,18 +16,34 @@
> > > >
> > > > Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> > > > 02110-1301, USA.>
> > > >
> > > > */
> > > >
> > > > -#include "localplayer_gui.h"
> > > > +#ifndef SPECTATORPLAYER_H
> > > > +#define SPECTATORPLAYER_H
> > > > +
> > > >
> > > > #include "localplayer.h"
> > > >
> > > > -LocalPlayerGui::LocalPlayerGui() :
> > > > - PlayerGui(i18nc("A human player", "Human"))
> > > > +/**
> > > > + * a spectator player controller
> > > > + *
> > > > + * A spectator is very much like a local human player, except that it
> >
> > has
> >
> > > > no + * planets. It cannot die and it does not count as active player.
> >
> > Its
> >
> > > > main + * purpose is to watch the game, for example watch AIs play
> >
> > against
> >
> > > > each other. + */
> > > > +
> > > > +class SpectatorPlayer : public LocalPlayer
> > > >
> > > > {
> > > >
> > > > -}
> > > > + Q_OBJECT
> > > >
> > > > +public:
> > > > + explicit SpectatorPlayer(Game *game, const QString &newName,
> > > > const
> > > > QColor &color);
> > > >
> > > > -Player*
> > > > -LocalPlayerGui::createInstance(Game *game, const QString &newName,
> >
> > const
> >
> > > > QColor &color) const -{
> > > > - return new LocalPlayer(game, newName, color);
> > > > -}
> > > > + virtual bool isDead();
> > > > + virtual bool isSpectator();
> > > > +
> > > > +signals:
> > > > +
> > > > +public slots:
> > > > +
> > > > +};
> > > > +
> > > > +#endif // SPECTATORPLAYER_H
> > > > diff --git a/players/localplayer_gui.cpp
> >
> > b/players/spectatorplayer_gui.cpp
> >
> > > > similarity index 71%
> > > > copy from players/localplayer_gui.cpp
> > > > copy to players/spectatorplayer_gui.cpp
> > > > index 44a04b5..eb83e53 100644
> > > > --- a/players/localplayer_gui.cpp
> > > > +++ b/players/spectatorplayer_gui.cpp
> > > > @@ -16,18 +16,18 @@
> > > >
> > > > Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> > > > 02110-1301, USA.>
> > > >
> > > > */
> > > >
> > > > -#include "localplayer_gui.h"
> > > > -#include "localplayer.h"
> > > > +#include "spectatorplayer_gui.h"
> > > > +#include "spectatorplayer.h"
> > > >
> > > >
> > > > -LocalPlayerGui::LocalPlayerGui() :
> > > > - PlayerGui(i18nc("A human player", "Human"))
> > > > +SpectatorPlayerGui::SpectatorPlayerGui() :
> > > > + PlayerGui(i18nc("A human spectator", "Human (Spectator)"))
> > > >
> > > > {
> > > > }
> > > >
> > > >
> > > > Player*
> > > >
> > > > -LocalPlayerGui::createInstance(Game *game, const QString &newName,
> >
> > const
> >
> > > > QColor &color) const +SpectatorPlayerGui::createInstance(Game *game,
> > > > const QString &newName, const QColor &color) const>
> > > >
> > > > {
> > > >
> > > > - return new LocalPlayer(game, newName, color);
> > > > + return new SpectatorPlayer(game, newName, color);
> > > >
> > > > }
> > > >
> > > > diff --git a/players/localplayer_gui.cpp
> >
> > b/players/spectatorplayer_gui.h
> >
> > > > similarity index 72%
> > > > copy from players/localplayer_gui.cpp
> > > > copy to players/spectatorplayer_gui.h
> > > > index 44a04b5..ec0a123 100644
> > > > --- a/players/localplayer_gui.cpp
> > > > +++ b/players/spectatorplayer_gui.h
> > > > @@ -16,18 +16,17 @@
> > > >
> > > > Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> > > > 02110-1301, USA.>
> > > >
> > > > */
> > > >
> > > > -#include "localplayer_gui.h"
> > > > -#include "localplayer.h"
> > > > +#ifndef SPECTATOR_PLAYER_GUI_H
> > > > +#define SPECTATOR_PLAYER_GUI_H
> > > >
> > > > -
> > > > -LocalPlayerGui::LocalPlayerGui() :
> > > > - PlayerGui(i18nc("A human player", "Human"))
> > > > -{
> > > > -}
> > > > +#include "player_gui.h"
> > > >
> > > >
> > > > -Player*
> > > > -LocalPlayerGui::createInstance(Game *game, const QString &newName,
> >
> > const
> >
> > > > QColor &color) const +class SpectatorPlayerGui : public PlayerGui
> > > >
> > > > {
> > > >
> > > > - return new LocalPlayer(game, newName, color);
> > > > -}
> > > > +public:
> > > > + explicit SpectatorPlayerGui();
> > > > + virtual Player* createInstance(Game *game, const QString
> > > > &newName,
> > > > const QColor &color) const; +};
> > > > +
> > > > +#endif // SPECTATOR_PLAYER_GUI_H
> > >>
> > >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to
> >
> > unsubscribe <<
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic