Removed macOS XCode 7.3 tooling support -- it required some gross

compile-time hacks.
This commit is contained in:
casey langen 2018-12-20 23:21:48 -08:00
parent c43c8f1d90
commit 7de549eb33
33 changed files with 111 additions and 221 deletions

View File

@ -50,9 +50,6 @@ namespace musik {
namespace cube {
class BrowseLayout :
public cursespp::LayoutBase,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<BrowseLayout>,
#endif
public sigslot::has_slots<>
{
public:

View File

@ -52,9 +52,6 @@ namespace musik {
namespace cube {
class CategorySearchLayout :
public cursespp::LayoutBase,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<CategorySearchLayout>,
#endif
public sigslot::has_slots<>
{
public:

View File

@ -52,9 +52,6 @@ namespace musik {
namespace cube {
class ConsoleLayout :
public cursespp::LayoutBase,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<ConsoleLayout>,
#endif
public cursespp::ITopLevelLayout,
public sigslot::has_slots<>
{

View File

@ -52,9 +52,6 @@ namespace musik {
namespace cube {
class DirectoryLayout :
public cursespp::LayoutBase,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<DirectoryLayout>,
#endif
public sigslot::has_slots<>
{
public:

View File

@ -44,9 +44,6 @@ namespace musik {
namespace cube {
class HotkeysLayout :
public cursespp::LayoutBase,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<HotkeysLayout>,
#endif
public cursespp::ITopLevelLayout,
public sigslot::has_slots<>
{

View File

@ -286,13 +286,7 @@ void LibraryLayout::UpdateShortcutsWindow() {
}
void LibraryLayout::OnAddedToParent(IWindow* parent) {
#if (__clang_major__ == 7 && __clang_minor__ == 3)
std::enable_shared_from_this<LayoutBase>* receiver =
(std::enable_shared_from_this<LayoutBase>*) this;
#else
auto receiver = this;
#endif
MessageQueue().RegisterForBroadcasts(receiver->shared_from_this());
MessageQueue().RegisterForBroadcasts(this->shared_from_this());
}
void LibraryLayout::OnRemovedFromParent(IWindow* parent) {

View File

@ -157,13 +157,7 @@ bool MainLayout::KeyPress(const std::string& key) {
}
void MainLayout::Start() {
#if (__clang_major__ == 7 && __clang_minor__ == 3)
std::enable_shared_from_this<MainLayout>* receiver =
(std::enable_shared_from_this<MainLayout>*) this;
#else
auto receiver = this;
#endif
MessageQueue().RegisterForBroadcasts(receiver->shared_from_this());
MessageQueue().RegisterForBroadcasts(this->shared_from_this());
}
void MainLayout::Stop() {

View File

@ -50,12 +50,7 @@
namespace musik {
namespace cube {
class MainLayout :
public cursespp::AppLayout
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<MainLayout>
#endif
{
class MainLayout : public cursespp::AppLayout {
public:
MainLayout(
cursespp::App& app,

View File

@ -50,9 +50,6 @@ namespace musik {
namespace cube {
class NowPlayingLayout :
public cursespp::LayoutBase,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<NowPlayingLayout>,
#endif
public sigslot::has_slots<>
{
public:

View File

@ -543,14 +543,7 @@ void SettingsLayout::OnVisibilityChanged(bool visible) {
}
void SettingsLayout::OnAddedToParent(IWindow* parent) {
#if (__clang_major__ == 7 && __clang_minor__ == 3)
std::enable_shared_from_this<LayoutBase>* receiver =
(std::enable_shared_from_this<LayoutBase>*) this;
#else
auto receiver = this;
#endif
MessageQueue().RegisterForBroadcasts(receiver->shared_from_this());
MessageQueue().RegisterForBroadcasts(receiver->shared_from_this());
MessageQueue().RegisterForBroadcasts(this->shared_from_this());
}
void SettingsLayout::OnRemovedFromParent(IWindow* parent) {

View File

@ -62,9 +62,6 @@ namespace musik {
class SettingsLayout :
public cursespp::ITopLevelLayout,
public cursespp::LayoutBase,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<SettingsLayout>,
#endif
public sigslot::has_slots<>
{
public:

View File

@ -49,9 +49,6 @@ namespace musik {
namespace cube {
class TrackSearchLayout :
public cursespp::LayoutBase,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<TrackSearchLayout>,
#endif
public sigslot::has_slots<>
{
public:

View File

@ -46,10 +46,9 @@
namespace musik {
namespace cube {
class EqualizerOverlay: public cursespp::OverlayBase, public sigslot::has_slots<>
#if (__clang_major__ == 7 && __clang_minor__ == 3)
, public std::enable_shared_from_this<EqualizerOverlay>
#endif
class EqualizerOverlay:
public cursespp::OverlayBase,
public sigslot::has_slots<>
{
public:
using Plugin = std::shared_ptr<musik::core::sdk::IPlugin>;

View File

@ -39,11 +39,7 @@
namespace musik { namespace cube {
/* in general we probably shouldn't subclass DialogOverlay because
callers can mutate the title and body... but... meh. this is easy. */
class LastFmOverlay : public cursespp::DialogOverlay
#if (__clang_major__ == 7 && __clang_minor__ == 3)
, public std::enable_shared_from_this<DialogOverlay>
#endif
{
class LastFmOverlay : public cursespp::DialogOverlay {
public:
enum class State {
Unregistered = 0,

View File

@ -48,11 +48,10 @@
namespace musik {
namespace cube {
class PreampOverlay : public cursespp::OverlayBase, public sigslot::has_slots<>
#if (__clang_major__ == 7 && __clang_minor__ == 3)
, public std::enable_shared_from_this<PreampOverlay>
#endif
{
class PreampOverlay:
public cursespp::OverlayBase,
public sigslot::has_slots<>
{
public:
using Callback = std::function<void()>;

View File

@ -44,11 +44,10 @@
namespace musik {
namespace cube {
class ReassignHotkeyOverlay : public cursespp::OverlayBase, public sigslot::has_slots<>
#if (__clang_major__ == 7 && __clang_minor__ == 3)
, public std::enable_shared_from_this<ReassignHotkeyOverlay>
#endif
{
class ReassignHotkeyOverlay:
public cursespp::OverlayBase,
public sigslot::has_slots<>
{
public:
using Callback = std::function<void(std::string)>;

View File

@ -47,11 +47,10 @@
namespace musik {
namespace cube {
class ServerOverlay : public cursespp::OverlayBase, public sigslot::has_slots<>
#if (__clang_major__ == 7 && __clang_minor__ == 3)
, public std::enable_shared_from_this<ServerOverlay>
#endif
{
class ServerOverlay:
public cursespp::OverlayBase,
public sigslot::has_slots<>
{
public:
using Callback = std::function<void()>;
using Plugin = std::shared_ptr<musik::core::sdk::IPlugin>;

View File

@ -50,11 +50,8 @@
namespace musik {
namespace cube {
class CategoryListView :
class CategoryListView:
public cursespp::ListWindow,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<CategoryListView>,
#endif
public sigslot::has_slots<>
{
public:

View File

@ -46,11 +46,8 @@
namespace musik {
namespace cube {
class LogWindow :
class LogWindow:
public cursespp::ScrollableWindow,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<LogWindow>,
#endif
public sigslot::has_slots<>
{
public:

View File

@ -49,11 +49,8 @@
namespace musik {
namespace cube {
class TrackListView :
class TrackListView:
public cursespp::ListWindow,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<TrackListView>,
#endif
public sigslot::has_slots<>
{
public:

View File

@ -46,12 +46,9 @@ namespace musik {
namespace cube {
struct TransportDisplayCache;
class TransportWindow :
class TransportWindow:
public cursespp::Window,
public cursespp::IKeyHandler,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<TransportWindow>,
#endif
public sigslot::has_slots<>
{
public:

View File

@ -44,11 +44,8 @@
#include <sigslot/sigslot.h>
namespace cursespp {
class AppLayout :
class AppLayout:
public cursespp::LayoutBase,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<AppLayout>,
#endif
public sigslot::has_slots<>
{
public:

View File

@ -42,29 +42,25 @@
namespace cursespp {
class Checkbox :
public cursespp::IKeyHandler,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public cursespp::Window,
public std::enable_shared_from_this<Checkbox> {
#else
public cursespp::Window {
#endif
public:
sigslot::signal2<Checkbox*, bool> CheckChanged;
public cursespp::Window
{
public:
sigslot::signal2<Checkbox*, bool> CheckChanged;
Checkbox();
virtual ~Checkbox();
Checkbox();
virtual ~Checkbox();
virtual void SetText(const std::string& value);
virtual void SetChecked(bool checked);
virtual std::string GetText() { return this->buffer; }
virtual bool IsChecked() { return this->checked; }
virtual bool KeyPress(const std::string& key);
virtual bool MouseEvent(const IMouseHandler::Event& event);
virtual void OnRedraw();
virtual void SetText(const std::string& value);
virtual void SetChecked(bool checked);
virtual std::string GetText() { return this->buffer; }
virtual bool IsChecked() { return this->checked; }
virtual bool KeyPress(const std::string& key);
virtual bool MouseEvent(const IMouseHandler::Event& event);
virtual void OnRedraw();
private:
private:
std::string buffer;
bool checked;
std::string buffer;
bool checked;
};
}

View File

@ -42,12 +42,7 @@
#include <map>
namespace cursespp {
class DialogOverlay :
public OverlayBase
#if (__clang_major__ == 7 && __clang_minor__ == 3)
, public std::enable_shared_from_this<DialogOverlay>
#endif
{
class DialogOverlay: public OverlayBase {
public:
using ButtonCallback = std::function<void(std::string key)>;
using DismissCallback = std::function<void()>;

View File

@ -38,12 +38,9 @@
#include <cursespp/TextInput.h>
namespace cursespp {
class InputOverlay :
class InputOverlay:
public OverlayBase,
public sigslot::has_slots<>
#if (__clang_major__ == 7 && __clang_minor__ == 3)
, public std::enable_shared_from_this<InputOverlay>
#endif
{
public:
struct IValidator {

View File

@ -41,11 +41,8 @@
#include <vector>
namespace cursespp {
class LayoutBase :
class LayoutBase:
public Window,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<LayoutBase>,
#endif
public ILayout
{
public:

View File

@ -41,12 +41,9 @@
#include <map>
namespace cursespp {
class ListOverlay :
class ListOverlay:
public OverlayBase,
public sigslot::has_slots<>
#if (__clang_major__ == 7 && __clang_minor__ == 3)
, public std::enable_shared_from_this<ListOverlay>
#endif
{
public:
using ItemSelectedCallback = std::function<void(ListOverlay* sender, IScrollAdapterPtr adapter, size_t index)>;

View File

@ -41,12 +41,7 @@
#include <functional>
namespace cursespp {
class ListWindow :
public ScrollableWindow
#if (__clang_major__ == 7 && __clang_minor__ == 3)
, public std::enable_shared_from_this<ListWindow>
#endif
{
class ListWindow: public ScrollableWindow {
public:
static size_t NO_SELECTION;

View File

@ -41,11 +41,8 @@
#include <cursespp/IKeyHandler.h>
namespace cursespp {
class ScrollableWindow :
class ScrollableWindow:
public Window,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<ScrollableWindow>,
#endif
public IScrollable,
public IKeyHandler
{

View File

@ -40,12 +40,9 @@
#include <functional>
namespace cursespp {
class ShortcutsWindow :
class ShortcutsWindow:
public cursespp::Window,
public cursespp::IKeyHandler
#if (__clang_major__ == 7 && __clang_minor__ == 3)
, public std::enable_shared_from_this<ShortcutsWindow>
#endif
{
public:
using ChangedCallback = std::function<void (std::string /* key */)>;

View File

@ -42,58 +42,56 @@
#include <vector>
namespace cursespp {
class TextInput :
class TextInput:
public cursespp::Window,
public cursespp::IKeyHandler,
#if (__clang_major__ == 7 && __clang_minor__ == 3)
public std::enable_shared_from_this<TextInput>,
#endif
public cursespp::IInput {
public:
sigslot::signal1<TextInput*> EnterPressed;
sigslot::signal2<TextInput*, std::string> TextChanged;
public cursespp::IInput
{
public:
sigslot::signal1<TextInput*> EnterPressed;
sigslot::signal2<TextInput*, std::string> TextChanged;
enum Style { StyleBox, StyleLine };
enum Style { StyleBox, StyleLine };
TextInput(InputMode inputMode = IInput::InputNormal);
TextInput(Style style, InputMode inputMode = IInput::InputNormal);
TextInput(InputMode inputMode = IInput::InputNormal);
TextInput(Style style, InputMode inputMode = IInput::InputNormal);
virtual ~TextInput();
virtual ~TextInput();
virtual void OnRedraw();
virtual void OnRedraw();
virtual bool Write(const std::string& key);
virtual size_t Length();
virtual size_t Position();
virtual bool Write(const std::string& key);
virtual size_t Length();
virtual size_t Position();
virtual void SetInputMode(InputMode inputMode) {
this->inputMode = inputMode;
};
virtual void SetInputMode(InputMode inputMode) {
this->inputMode = inputMode;
};
virtual InputMode GetInputMode() { return this->inputMode; }
virtual InputMode GetInputMode() { return this->inputMode; }
virtual bool KeyPress(const std::string& key);
virtual bool MouseEvent(const IMouseHandler::Event& event);
virtual bool KeyPress(const std::string& key);
virtual bool MouseEvent(const IMouseHandler::Event& event);
virtual void SetText(const std::string& value);
virtual std::string GetText() { return this->buffer; }
virtual void SetText(const std::string& value);
virtual std::string GetText() { return this->buffer; }
void SetRawKeyBlacklist(const std::vector<std::string>&& blacklist);
void SetTruncate(bool truncate);
void SetHint(const std::string& hint);
void SetEnterEnabled(bool enabled);
Style GetStyle() { return style; }
void SetRawKeyBlacklist(const std::vector<std::string>&& blacklist);
void SetTruncate(bool truncate);
void SetHint(const std::string& hint);
void SetEnterEnabled(bool enabled);
Style GetStyle() { return style; }
private:
bool OffsetPosition(int delta);
private:
bool OffsetPosition(int delta);
std::vector<std::string> rawBlacklist;
std::string buffer, hintText;
int position;
bool enterEnabled;
bool truncate;
size_t bufferLength;
Style style;
InputMode inputMode;
std::vector<std::string> rawBlacklist;
std::string buffer, hintText;
int position;
bool enterEnabled;
bool truncate;
size_t bufferLength;
Style style;
InputMode inputMode;
};
}

View File

@ -42,44 +42,39 @@
#include <sigslot/sigslot.h>
namespace cursespp {
class TextLabel :
#if (__clang_major__ == 7 && __clang_minor__ == 3)
class TextLabel:
public cursespp::Window,
public cursespp::IKeyHandler,
public std::enable_shared_from_this<TextLabel> {
#else
public cursespp::Window,
public cursespp::IKeyHandler {
#endif
public:
sigslot::signal1<TextLabel*> Activated;
public cursespp::IKeyHandler
{
public:
sigslot::signal1<TextLabel*> Activated;
TextLabel();
TextLabel(const std::string& value);
TextLabel(const std::string& value, const text::TextAlign alignment);
TextLabel();
TextLabel(const std::string& value);
TextLabel(const std::string& value, const text::TextAlign alignment);
virtual ~TextLabel();
virtual ~TextLabel();
virtual void SetText(
const std::string& value,
const text::TextAlign alignment);
virtual void SetText(
const std::string& value,
const text::TextAlign alignment);
virtual void SetText(const std::string& value);
virtual void SetText(const std::string& value);
virtual std::string GetText() { return this->buffer; }
virtual size_t Length() { return u8cols(this->buffer); }
virtual void SetBold(bool bold);
virtual bool IsBold() { return this->bold; }
virtual void OnRedraw();
virtual std::string GetText() { return this->buffer; }
virtual size_t Length() { return u8cols(this->buffer); }
virtual void SetBold(bool bold);
virtual bool IsBold() { return this->bold; }
virtual void OnRedraw();
virtual bool KeyPress(const std::string& key);
virtual bool MouseEvent(const IMouseHandler::Event& event);
virtual bool KeyPress(const std::string& key);
virtual bool MouseEvent(const IMouseHandler::Event& event);
private:
void ApplyDefaultStyle();
private:
void ApplyDefaultStyle();
std::string buffer;
text::TextAlign alignment;
bool bold;
std::string buffer;
text::TextAlign alignment;
bool bold;
};
}

View File

@ -38,12 +38,9 @@
#include <vector>
namespace cursespp {
class ToastOverlay :
class ToastOverlay:
public OverlayBase,
public sigslot::has_slots<>
#if (__clang_major__ == 7 && __clang_minor__ == 3)
, public std::enable_shared_from_this<ToastOverlay>
#endif
{
public:
static void Show(const std::string& text, int durationMs = 3000);