200{
201 try {
205
206
208 title_label_.setFont(juce::Font {juce::FontOptions(36.F, juce::Font::bold)});
211
212
215
216
219 connection_label_.setColour(juce::Label::backgroundColourId, juce::Colours::red);
222
223
225#if __cpp_lib_bind_front >= 202'306L
226 load_button_.onClick = std::bind_front<&MainContentComponent::LoadClicked>(
this);
227#else
229#endif
230
231
233#if __cpp_lib_bind_front >= 202'306L
234 save_button_.onClick = std::bind_front<&MainContentComponent::SaveProfile>(
this);
235#else
237#endif
238
239
241#if __cpp_lib_bind_front >= 202'306L
242 settings_button_.onClick = std::bind_front<&MainContentComponent::SettingsClicked>(
this);
243#else
245#endif
246
247
250
251
256
257
260
261
263 kStandardHeight);
264#if __cpp_lib_bind_front >= 202'306L
266 std::bind_front<&MainContentComponent::RemoveAllRowsClicked>(this);
267#else
270#endif
271
272
274#if __cpp_lib_bind_front >= 202'306L
275 rescan_button_.onClick = std::bind_front<&MainContentComponent::RescanClicked>(
this);
276#else
278#endif
279
280
283 kStandardHeight);
284#if __cpp_lib_bind_front >= 202'306L
285 disconnect_button_.onClick = std::bind_front<&MainContentComponent::DisconnectClicked>(
this);
286#else
288#endif
289
290
292 kStandardHeight);
293#if __cpp_lib_bind_front >= 202'306L
295 std::bind_front<&MainContentComponent::RemoveUnassignedClicked>(this);
296#else
299#endif
300
301
304 const auto default_profile {juce::File(filename.data())};
305 if (const auto parsed {juce::parseXML(default_profile)}) {
308 }
309 }
310 else {
313 else {
315 }
316 }
317
318
319 ResizableLayout::activateLayout();
320 }
321 catch (const std::exception& e) {
323 throw;
324 }
325}
void AddCallback(_In_ T *const object, _In_ void(T::*const mf)(bool, bool))
Definition LR_IPC_Out.h:51
void AddComponent(juce::Component &component, int x, int y, int width, int height)
Definition MainComponent.cpp:191
juce::TextButton rescan_button_
Definition MainComponent.h:93
void SaveProfile() const
Definition MainComponent.cpp:327
void ProfileChanged(juce::XmlElement *xml_element, const juce::String &file_name)
Definition MainComponent.cpp:387
void RemoveAllRowsClicked()
Definition MainComponent.cpp:156
juce::Label version_label_
Definition MainComponent.h:81
void DisconnectClicked()
Definition MainComponent.cpp:173
juce::TextButton settings_button_
Definition MainComponent.h:95
juce::Label connection_label_
Definition MainComponent.h:77
void LrIpcOutCallback(bool, bool)
Definition MainComponent.cpp:378
juce::TextButton save_button_
Definition MainComponent.h:94
juce::DropShadowEffect title_shadow_
Definition MainComponent.h:75
juce::TextButton load_button_
Definition MainComponent.h:90
void MidiCmdCallback(rsj::MidiMessage mm)
Definition MainComponent.cpp:345
void RescanClicked()
Definition MainComponent.cpp:164
juce::Label title_label_
Definition MainComponent.h:79
juce::TextButton remove_allrows_button_
Definition MainComponent.h:91
juce::TextButton remove_unassigned_button_
Definition MainComponent.h:92
void LoadClicked()
Definition MainComponent.cpp:92
void SettingsClicked()
Definition MainComponent.cpp:137
void RemoveUnassignedClicked()
Definition MainComponent.cpp:185
void AddCallback(_In_ T *const object, _In_ void(T::*const mf)(rsj::MidiMessage))
Definition MIDIReceiver.h:49
void FromXml(const juce::XmlElement *root)
Definition Profile.cpp:36
void SwitchToProfile(int profile_index)
Definition ProfileManager.cpp:57
void AddCallback(_In_ T *const object, _In_ void(T::*const mf)(juce::XmlElement *, const juce::String &))
Definition ProfileManager.h:49
juce::String GetDefaultProfile() const noexcept
Definition SettingsManager.h:42
juce::String GetProfileDirectory() const noexcept
Definition SettingsManager.h:57
std::string AppDataFilePath(const std::string &file_name)